- ベストアンサー
PythonでWeb操作をする方法
- Pythonを使用してWeb操作を試みていますが、画像クリックに関する障害に直面しています。
- Chromeでのログインは成功したものの、特定の画像をクリックする方法がわからず、エラーが発生しています。
- エラー内容には'WebDriver'オブジェクトの属性エラーが含まれ、XPATH識別子での実行が失敗しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Copy Xpathの結果をそのまま使えば良いはずですが、 driver.find_element(By.XPATH, '/html/body/table/tbody/tr[4]/td[2]/a[1]/img').click() としても、Unable to locate elementというエラーになるのでしょうか?
その他の回答 (2)
- redslove10
- ベストアンサー率41% (398/969)
elementが見つからないと言っていますので、次の部分が正しいか確認してください。 '//input[@type="image"][@src="/html/body/table/tbody/tr[4]/td[2]/a[1]"]' 調べ方は下記ページの「欲しい要素のPATHを調べる」にあります。 https://pensama.com/find-element-xpath/
補足
色々調べて試してみたのですが、要素が見つからないようなメッセージが表示されます。 どのように記述したら良いのか教えていただけると助かります。 【Elements】 <img border="0" src="/images/btnOrdersPushed.gif"> 【Xpath】 /html/body/table/tbody/tr[4]/td[2]/a[1]/img 【full Xpath】 /html/body/table/tbody/tr[4]/td[2]/a[1]/img
- redslove10
- ベストアンサー率41% (398/969)
以下の記載があるページを見つけました。 https://terakoya.sejuku.net/question/detail/23274 find_element_by_xpathは廃止となり使えなくなったため、以下のようにfind_elementをご使用お願いいたします。
補足
redslove10さん ありがとうございました。 参考に変更して実行したのですが、エラーが表示されました。XPATHの使い方も良くわかっておらず・・・ driver.find_element(By.XPATH, '//input[@type="image"][@src="/html/body/table/tbody/tr[4]/td[2]/a[1]"]').click() selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@type="image"][@src="/html/body/table/tbody/tr[4]/td[2]/a[1]"]"} (Session info: chrome=118.0.5993.118); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
お礼