2017-03-22 64 views
3

我想在瀏覽器中創建警報窗口。用python硒在瀏覽器中創建警報窗口

browser = webdriver.Firefox(
    executable_path=geckodriver_path, 
    log_path=geckodriver_log_path 
) 
browser.get(url) 

要創建警報窗口,我這樣做:

browser.execute_script("alert('qwer');") 

browser.execute_script("return alert('qwer');") 

browser.execute_script("return (function(){alert('qwer'); return 0;})();") 

在所有情況下顯示警告窗口。但在所有情況下,我有一個例外:selenium.common.exceptions.WebDriverException: Message: Failed to find value field

創建警報窗口的正確方法是什麼?

+0

你能嘗試不同的瀏覽器?例如,Chromedriver。它似乎是一個Firefox相關的問題。 – leovp

回答

2

這似乎是geckodriver問題。儘管產生"Failed to find value field"異常你仍然可以把手打開警報,所以你可能會適用以下解決方法:

from selenium.common.exceptions import WebDriverException 

try: 
    browser.execute_script("alert('qwer');") 
except WebDriverException: 
    pass 
browser.switch_to.alert.text # output is "qwer" 
browser.switch_to.alert.accept() # alert closed 

...或者,如評論所提到的,你可以使用ChromeIE

相關問題