iT邦幫忙

0

python 爬蟲網頁時遇到confirm對話框時,無法點到確認

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20221201/20145896DOPBEtDkbt.jpg
 
hi,如上圖中的紅色框內的[確定],我語法如下,用了browser_box.accept(),但沒有效果。
請問是為什麼,或者還有其它方式可以用嗎?

 if browser.find_element_by_xpath('//*[@id="globalNoticeJobTop"]/span[2]/input[2]').is_displayed():
    print("職務需先更新!")
    browser.find_element_by_xpath('//*[@id="globalDataPanel"]/table/tbody[1]/tr/td[4]/input').click()"全選

  time.sleep(1)
browser.find_element_by_xpath('//[@id="globalNoticeJobTop"]/span[2]/input[2]').click()"按更新
  time.sleep(2)
browser_box = browser.switch_to_alert() "取得box
time.sleep(2)
#print (browser_box.text)
browser_box.accept() "回覆確定
browser.find_element_by_xpath('//
[@id="dlg-closeIcon"]').click()"關閉
time.sleep(1)

alien663 iT邦研究生 5 級 ‧ 2022-12-01 16:22:37 檢舉
你自己用個alert出來,你看能不能抓到他的html,你就知道為甚麼了。
解決方法也很簡單,操控鍵盤按Enter就可以。
obarisk iT邦研究生 2 級 ‧ 2022-12-01 16:59:46 檢舉
關鍵字 switchto。或是 windowhandler,自己控制 window
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
JamesDoge
iT邦高手 1 級 ‧ 2023-01-19 12:29:37

您可以使用 Selenium 提供的 switch_to.alert 方法切換到 confirm 對話框,再使用 accept() 或 dismiss() 方法來模擬點擊確認或取消按鈕。

alert = browser.switch_to.alert
alert.accept()

我要發表回答

立即登入回答