2
我試圖使用Python和Selen自動化下載。在開始頁面,彈出頁面上出現:如何在python中使用Selenium關閉瀏覽器彈出窗口?
我怎樣才能關閉它使用Selenium?
我嘗試以下方法,但都失敗了:
>>> alert = browser.switch_to_alert()
>>> alert.accept()
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/selenium/webdriver/common/alert.py", line 80, in accept
self.driver.execute(Command.ACCEPT_ALERT)
File "/usr/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 201, in execute
self.error_handler.check_response(response)
File "/usr/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 181, in check_response
raise exception_class(message, screen, stacktrace)
NoAlertPresentException: Message: no alert open
(Session info: chrome=59.0.3071.115)
(Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 4.4.0-57-generic x86_64)
>>> alert.dismiss()
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/selenium/webdriver/common/alert.py", line 71, in dismiss
self.driver.execute(Command.DISMISS_ALERT)
File "/usr/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 201, in execute
self.error_handler.check_response(response)
File "/usr/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 181, in check_response
raise exception_class(message, screen, stacktrace)
NoAlertPresentException: Message: no alert open
(Session info: chrome=59.0.3071.115)
(Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 4.4.0-57-generic x86_64)
>>>alert = browser.switch_to_window('Open xdg-open?')
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 531, in switch_to_window
self._switch_to.window(window_name)
File "/usr/lib/python2.7/dist-packages/selenium/webdriver/remote/switch_to.py", line 92, in window
self._driver.execute(Command.SWITCH_TO_WINDOW, data)
File "/usr/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 201, in execute
self.error_handler.check_response(response)
File "/usr/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 181, in check_response
raise exception_class(message, screen, stacktrace)
NoSuchWindowException: Message: no such window
(Session info: chrome=59.0.3071.115)
(Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 4.4.0-57-generic x86_64)
>>> alert = browser.switch_to.window("Open xdg-open?")
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/selenium/webdriver/remote/switch_to.py", line 92, in window
self._driver.execute(Command.SWITCH_TO_WINDOW, data)
File "/usr/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 201, in execute
self.error_handler.check_response(response)
File "/usr/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 181, in check_response
raise exception_class(message, screen, stacktrace)
NoSuchWindowException: Message: no such window
(Session info: chrome=59.0.3071.115)
(Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 4.4.0-57-generic x86_64)
如何切換到對話框中,點擊「不要開」: driver.find_element_by_xpath('// div [contains(@class,「ui-dialog」)and @ aria-describedby =「dialogContent2」] // button [@ title =「Dont't open」]')。click( ) –
您是否嘗試過使用顯式等待警報存在? –
@RayhaneMama什麼是顯式等待?我如何做到這一點? – Abraham