前提・実現したいこと
seleniumとpythonを利用して、ブラウザ(IE)にログインして申請ボタンをクリックする処理を自動化したいと考えています。
申請ボタンのHTMLは以下です。
<a class="s_ball" href="" onclick="openNew('main');return false;">電子申請書メニュー</a>
xpathを取得すると以下でした。
//*[@id="e_viewtable_0"]/table/tbody/tr/td[1]/a
フルパス
/html/body/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/table/tbody/tr/td/table/tbody/tr/td/div/div/table/tbody/tr/td[1]/a
上記を、xpathで指定したところ、以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
selenium.common.exceptions.NoSuchElementException: Message: Unable to find element with xpath == //*[@id='e_viewtable_0']/table/tbody/tr/td[1]/a
該当のソースコード
import time
from selenium import webdriver #Selenium Webdriverをインポート
driver = webdriver.Ie("C:\Program Files\IEDriverServer.exe") #IEを動かすドライバを読み込み
driver.get("http://*******") #サイトを開く
print(driver.current_url)
ログインIDを入力
login_id = driver.find_element_by_name("userID")
login_id.send_keys("******")
パスワードを入力
password = driver.find_element_by_name("password")
password.send_keys("*******")
ログインボタンをクリック
login_btn = driver.find_element_by_xpath("//input[@value='ログイン']")
login_btn.click()
申請ボタンをクリック
print(driver.current_url)
shinsei_btn = driver.find_element_by_xpath("//*[@id='e_viewtable_0']/table/tbody/tr/td[1]/a")
shinsei_btn.click()
time.sleep(20)
driver.quit()
試したこと
Xpathで以下の形で指定→NG
driver.find_element_by_xpath("//*[@id='e_viewtable_0']/table/tbody/tr/td[1]/a")
classで以下の形で指定→NG
driver.find_element_by_class_name("s_ball")
要素の指定の形は何でも良いのですが、ボタンをクリックしたいです。
初心者で恐縮ですがご教示よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
Python 3.9.5
あなたの回答
tips
プレビュー