2017-03-22 6 views
3

ブラウザで警告ウィンドウを作成したい。 Python Seleniumブラウザでアラートウィンドウを作成する

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

することができます別のブラウザを試してみませんか?例えば、クロムドライブ。 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を使用することができ、など

関連する問題