Chromeを遠隔操作するタイプで動かすのが直感的で分かりやすかった。
まずは selenium
をインストールする
pip install selenium
chromedriver-binaryをインストールする。https://pypi.org/project/chromedriver-binary/#history へアクセスして、自分のchromeと一致するバイナリを取得する。
当方の現在の環境は Chrome 84.0.4147.105
だったので、一番近い 84.0.4147.30.0
をインストールした
pip install chromedriver-binary==84.0.4147.30.0
使ってみる。
初期化
import chromedriver_binary from selenium import webdriver from selenium.webdriver.common.by import By options = webdriver.ChromeOptions() driver = webdriver.Chrome(options=options)
ウェブページへ飛ぶ
driver.get("https://URL/")
ログインする
driver.find_element_by_id("username").send_keys("user") driver.find_element_by_id("password").send_keys("pass") driver.find_element_by_id("login").submit()
要素を指定する場合はchromeでF12で開ける画面のElements
で要素を右クリックし、Copy XPath
で取得すると良い。
element=driver.find_element(By.XPATH ,r'XPATH') #値を設定 element.send_keys("a") #クリック element.click() #クリア element.clear() #テキスト出力 element.text()
find_elementできるまでのタイムアウトの設定は以下をfind_elementの前に書く。単位は秒。
driver.implicitly_wait(1)
とにかく待ちたい場合は
import time time.sleep(10)