saisaikenkenの「してみよ」ブログ

~~~ 仕 事 と 趣 味 の 垣 根 を 無 く し て み よ ~~~

MENU

SeleniumでWebスクレイピングしてみよ⑤

Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる! [ 森 巧尚 ]

価格:2,420円
(2021/9/26 23:14時点)
感想(1件)

saisaikenken.hatenablog.com
↑↑↑こちらの続き↑↑↑

前記事の復習

①class属性から要素取得
②id属性から要素取得
③name属性から要素取得

from selenium import webdriver

d = webdriver.Chrome(executable_path='/mnt/c/chromedriver_win32/chromedriver.exe')

d.get('https://www.google.co.jp')
elm_byclass = d.find_element_by_class_name('gb_f')    #①
elm_byid = d.find_element_by_id('gbqfbb')    #②
elm_byname = d.find_element_by_name('btnK')    #③

d.quit()

click&send_keysしてみよ

クリック

要素.click()の形で要素をクリック。

f:id:saisaikenken:20211004224924p:plain
click

d.find_element_by_class_name('gb_f').click()

テキスト入力

要素.send_keys(<入力したいテキスト>)の形でテキスト入力。

f:id:saisaikenken:20211004230212p:plain
send_keys

d.find_element_by_name('q').send_keys('saisaikenken hatena')

キー入力

要素.send_keys(<入力したいキー>)の形でテキスト入力。
Keysメソッドを使用するために「from selenium.webdriver.common.keys import Keys」を追記。

from selenium.webdriver.common.keys import Keys

d.find_element_by_name('q').send_keys(Keys.ENTER)

キー一覧

・Enterキー:element.send_keys(Keys.ENTER)
・ALTキー(通常キーと組み合わせ):element.send_keys(Keys.ALT,"f")
 →上記はALT+fキー押下時。第2引数に通常キーを指定
・←キー:element.send_keys(Keys.LEFT)
・→キー:element.send_keys(Keys.RIGHT)
・↑キー:element.send_keys(Keys.UP)
・↓キー:element.send_keys(Keys.DOWN)
・Ctrlキー(通常キーと組み合わせ):element.send_keys(Keys.CONTROL,"a")
 →上記はCtrl+aキー押下時。第2引数に通常キーを指定
・Deleteキー:element.send_keys(Keys.DELETE)
・HOMEキー:element.send_keys(Keys.HOME)
・ENDキー:element.send_keys(Keys.END)
・ESCAPEキー:element.send_keys(Keys.ESCAPE)
・イコール(=)入力:element.send_keys(Keys.EQUALS)
・F1キー:element.send_keys(Keys.F1)
・シフトキー(通常キーと組み合わせ):element.send_keys(Keys.SHIFT,"abc"));
 →上記はShift+"abc"押下時。第2引数に通常キーを指定
・ページダウンキー:element.send_keys(Keys.PAGE_DOWN)
・ページアップキー:element.send_keys(Keys.PAGE_UP)
・スペースキー:element.send_keys(Keys.SPACE)
・リターンキー:element.send_keys(Keys.RETURN)
・タブキー:element.send_keys(Keys.TAB)

コードまとめ

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

d = webdriver.Chrome(executable_path='/mnt/c/chromedriver_win32/chromedriver.exe')

d.get('https://www.google.co.jp')

d.find_element_by_name('q').send_keys('saisaikenken hatena')
d.find_element_by_name('q').send_keys(Keys.ENTER)

d.quit()

実行結果

f:id:saisaikenken:20211004232123p:plain
テキスト入力
f:id:saisaikenken:20211004232218p:plain
Enter
自動でググれた。(google検索ができた。)

次回からは、応用編として、ブラウザいろいろ操作してみよ。