Seleniumで画面遷移できることは知っていたけれど、いざやってみようと思うとやり方がわからなかったので調べてみました。
ここではクリックしてページ移動する方法を紹介します。
Contents
Seleniumでクリックするには?
画面遷移に関わらずクリックするにはこれだけです。
element.click()
覚えやすいですね。
サンプルコード
click()だけでは分かりづらいのでどのように使われているかサンプルコードを用意しました。
from selenium import webdriver
from selenium.webdriver.common.by import By
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome('chromedriver',options=options)
#指定したURLに遷移
driver.get("https://programmer-life.work")
#カレントページのURLを取得
cur_url = driver.current_url
#カレントページのURLを表示
print(cur_url)
#クリックしたい要素を取得
a_item = driver.find_element(By.CSS_SELECTOR, ("h2[class='entry-title']"))
a_item = a_item.find_element(By.TAG_NAME, ("a"))
a_item.click()
# click
cur_url = driver.current_url
#カレントページのURLを表示
print(cur_url)
結果
https://programmer-life.work/
https://programmer-life.work/shopify/shopify-collaborator # 最新のページなので変動します
おわり
seleniumやスクレイピングなんてどんな使い道あるんだろうと思っていましたが、使えるようになるとやれることが増えますね。