driver.find_element(By.XPATH, "//input[@name = 'SelectAll' and @value='Move All >>>']").click()
driver.find_element(By.NAME, "Submit1").click()
作為背景,這是進入網站的腳本的一部分,完成一些操作/提示,然后提取 CSV 檔案。上面的代碼大部分時間都可以作業,但有時會出錯,
UnexpectedAlertPresentException: unexpected alert open: {Alert text : No contracts have been selected.}
(Session info: headless chrome=97.0.4692.99)
這是來自您必須將串列項從一個對話框移動到另一個對話框的頁面。當沒有任何東西被拉過來時,您會收到此錯誤。另請注意,我在此代碼之前確實有一個 implicitly_wait(100) 。
我試圖讓上面的代碼通過一個回圈運行,它將不斷重復/重試代碼,直到成功。
uj5u.com熱心網友回復:
如果我清楚地了解那里發生了什么:
您想繼續執行您提到的 2 次單擊操作,直到沒有出現警報。
即如果出現警報 - 關閉警報并再次執行點擊。
如果沒有出現警報 - 不再需要單擊這兩個元素,請繼續使用下一個代碼。
如果是這樣,您可以執行以下操作:
while True:
driver.find_element(By.XPATH, "//input[@name = 'SelectAll' and @value='Move All >>>']").click()
driver.find_element(By.NAME, "Submit1").click()
try:
alert = driver.switch_to.alert
alert.accept()
except:
break
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/421978.html
標籤:
上一篇:Python-用硒關閉通知
