CodeGym /Javaコース /Python SELF JA /フォームの入力:テキスト入力とボタンのクリック

フォームの入力:テキスト入力とボタンのクリック

Python SELF JA
レベル 36 , レッスン 0
使用可能

1. フォーム要素との対話の入門

ウェブページ上のフォームは、インタラクションの魔法が始まる場所だよ。 フォームを秘密のコントロールパネルと考えてみて、それを使ってユーザーがシステムとやりとりできるんだ。 でも、ロボット掃除機に指示を出すのではなく、サイトに情報を提供する感じかな。

テキストフィールドにテキストを入力する方法

まず最初に、Seleniumを使ってテキストフィールドにテキストを入力するやり方について話そう。 これはsend_keys()メソッドを使ってやるよ。段階を追って見ていこう。

Python

from selenium import webdriver

# WebDriverのパスを指定、ここは自分のwebdriverコピーのパスだよ
driver = webdriver.Chrome(executable_path='path/to/chromedriver')

# ウェブページを開く
driver.get('http://example.com/login')

# 入力フィールドを見つけて(例えばidで)テキストを入力
username_field = driver.find_element_by_id('username')
username_field.send_keys('moya_super_uchyotnaya_zapiska')

password_field = driver.find_element_by_id('password')
password_field.send_keys('moy_super_sekretnyy_parol')

この簡単な例では、ページを開いて、IDで入力要素を見つける。 次にsend_keys()メソッドを使ってフィールドにテキストを渡すんだ。 コピー&ペーストが次のレベルに進化した感じだよ!

テキストフィールドを埋めるための重要なトリック

フォームが変な動きをすると思ったら、入力フィールドに既にテキストが入っている可能性がある。 新しいテキストを入力する前に、clear()メソッドを使って古いものを消そう。

Python

username_field.clear()
username_field.send_keys('atarashii_chi')

この小さなトリックは、余計な頭痛から救ってくれるよ、本当に!

2. ボタンをクリックする

入力フィールドが埋まったら次はボタンだね。 例えばフォームを送信するために。Seleniumではclick()メソッドを使うよ。 「もっとミームを見る」ボタンを押すのと同じ感じで、でもコードで。

Python

# ボタンを名前で見つけてクリック
login_button = driver.find_element_by_name('login')
login_button.click()

こうして、Seleniumスクリプトはクリックのマスターになって、 ゲームで「選択を決定する」ボタンを押す以上のことができるんだ!

使用例

登録フォームを埋めて送信するためにsend_keys()click()メソッドをどう使うか、一緒に見てみよう。

Python

# 登録ページを開く
driver.get('http://example.com/register')

# 登録フォームを埋める
driver.find_element_by_id('first_name').send_keys('イワン')
driver.find_element_by_id('last_name').send_keys('イワノフ')
driver.find_element_by_id('email').send_keys('ivan@example.com')
driver.find_element_by_id('password').send_keys('superSekuretto123')

# 「登録」ボタンをクリック
register_button = driver.find_element_by_css_selector('.register-button')
register_button.click()

このシンプルな例は、登録フォームをテストしたり、 ユーザーのアクティビティをシミュレーションするのに便利だよ。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION