1. ホーム
  2. python

[解決済み] Selenium Python - そのような要素がない例外の処理

2022-02-14 06:31:55

質問

SeleniumでPythonを使って自動化テストを書いています。ある要素が存在する場合と存在しない場合があります。私は以下のコードでそれを処理しようとしています、それは要素が存在するときに動作します。しかし、要素が存在しない場合、スクリプトは失敗します。私は、要素が存在しない場合、次のステートメントに進みたいです。

try:
       elem = driver.find_element_by_xpath(".//*[@id='SORM_TB_ACTION0']")
       elem.click()
except nosuchelementexception:
       pass

エラー

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element:{"method":"xpath","selector":".//*[@id='SORM_TB_ACTION0']"}

解決方法は?

要素が存在するかどうかを確認し、存在する場合はクリックすればいいのです。例外処理が不要になります。の複数形 "s" に注意してください。 .find_elements_* .

elem = driver.find_elements_by_xpath(".//*[@id='SORM_TB_ACTION0']")
if len(elem) > 0
    elem[0].click()