YAHOOのページから検索をしてみる。
・入力部分の要素を取得
YAHOOを開いて検索窓を右クリックから「検証」をクリックしhtmlを表示する。テキストを入力する場合は <input> タグを取得する。
該当部分を抜き出すと...
... <input type="search" name="p" autocomplete="off" aria-label="検索したいキーワードを入力してください" aria-live="assertive" class="sc-lhVmIH bRNKMv"> ...
属性 aria-label="検索したいキーワードを入力してください" で指定するとよさそう。
XPathで記載すると
//input[@aria-label="検索したいキーワードを入力してください"]
となる。
(表示したhtml上で右クリックから「Copy ⇒ Copy XPath」で取ってもOK)
同様に「検索」ボタンの要素も調べておく。
検索ボタンのXPath: //span[text()="検索"]
・テキストを入力する
テキストの入力は取得した要素に対して .send_keys()で実行する。引数に入力したい文字列をそのまま記載すればよい。
「天気 明日」と入力してみる。
from selenium import webdriver brows = webdriver.Chrome() brows.get( 'https://www.yahoo.co.jp/' ) brows.maximize_window() element = brows.find_element_by_xpath( '//input[@aria-label="検索したいキーワードを入力してください"]' ) element.send_keys( '天気 明日' )
あとは検索ボタンをクリック。
from selenium import webdriver brows = webdriver.Chrome() brows.get( 'https://www.yahoo.co.jp/' ) brows.maximize_window() element = brows.find_element_by_xpath( '//input[@aria-label="検索したいキーワードを入力してください"]' ) element.send_keys( '天気 明日' ) element = brows.find_element_by_xpath( '//span[text()="検索"]' ) element.click()
毎回要素を変数に代入するのも面倒なので、まとめて書くと...
from selenium import webdriver brows = webdriver.Chrome() brows.get( 'https://www.yahoo.co.jp/' ) brows.maximize_window() brows.find_element_by_xpath( '//input[@aria-label="検索したいキーワードを入力してください"]' ).send_keys( '天気 明日' ) brows.find_element_by_xpath( '//span[text()="検索"]' ).click()
0 件のコメント:
コメントを投稿