前提・実現したいこと
- Python 3.7.1
- selenium 3.141.0
- Google Chrom
上記環境で日経新聞電子版に自動ログインするプログラムを作っています。
IDとPASS WORDの入力まではできたのですが、ログインボタンのクリックができません。
【参考にさせてもらったページ】
1.python × seleniumでID/PASS入力必要な画面に自動ログインしてみた
【対象サイト】
1.日経新聞電子版
発生している問題・エラーメッセージ
ログインボタンのクリックができない。
該当のソースコード
python3
1from selenium import webdriver 2from selenium.webdriver.common.action_chains import ActionChains 3from selenium.webdriver.common.keys import Keys 4import time 5 6driver = webdriver.Chrome() 7driver.get("https://www.nikkei.com/paper/") 8 9# ID/PASSを入力 10id = driver.find_element_by_id("LA7010Form01:LA7010Email") 11id.send_keys("nikkei ID") 12password = driver.find_element_by_id("LA7010Form01:LA7010Password") 13password.send_keys("nikkei PASSWORD") 14 15time.sleep(1) 16 17# ログインボタンをクリック 18login_button = driver.find_element_by_name("LA7010Form01:submitBtn") 19 20actions = ActionChains(driver) 21actions.click(login_button) 22actions.perform() 23 24#ウインドウを閉じる 25driver.close() 26
試したこと
参考にさせてもらったページ通りのクリック動作を記述すると"element not interactable"のエラーが
出たため、actionに書き換えています。
login_button.click() ⇒ actions.click(login_button)
上記のソースコード内に記載したdriver.find_element_by_id("LA7010Form01:LA7010Email")の要素は
日経新聞電子版のhtmlソースコードから拾ってきました。
日経新聞電子版のhtmlソースコードの53行目にある下記が何か邪魔をしているのでしょうか?
function submitAction() {
jQuery("#LA7010Form01:submitBtn").click();
}
一週間前にプログラムを始めたばかりの初心者です。
なぜ動かないのかよくわかっていません。
よろしくお願いします。