2017-03-22 4 views
1

ラズベリーパイで動作するかなりシンプルなセレンスクリプトがあります。Python - Selenium - set_page_load_timeout:数字ではありません

特定のページで問題が発生していたので、タイムアウトをdriver.get(url)に減らして、ハングしないように15秒にしたいと考えました。この情報を設定する方法については、この記事を参考にしました。 How to set Selenium Python WebDriver default timeout?

は、私ははっきりと私は問題が何であるかわからないんだけど、数

>>> from selenium import webdriver 
>>> from pyvirtualdisplay import Display 
>>> 
>>> display = Display(visible=0, size=(1200, 1200)) 
>>> display.start() 
<Display cmd_param=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '1200x1200x24', ':1009'] cmd=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '1200x1200x24', ':1009'] oserror=None return_code=None stdout="None" stderr="None" timeout_happened=False> 
>>> driver = webdriver.Firefox() 
>>> driver.set_page_load_timeout(15) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/home/pi/Projects/yesware_prod/yesware/venv/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 727, in set_page_load_timeout 
    'pageLoad': int(float(time_to_wait) * 1000)}) 
    File "/home/pi/Projects/yesware_prod/yesware/venv/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 238, in execute 
    self.error_handler.check_response(response) 
    File "/home/pi/Projects/yesware_prod/yesware/venv/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 193, in check_response 
    raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.WebDriverException: Message: Not a Number 

を渡していたとき、私は番号を渡していないよという内容の奇妙なエラーが発生します。 https://github.com/SeleniumHQ/selenium/blob/fa24958570432ee6eadaadc9a7fb92e1ee380dfc/py/selenium/webdriver/remote/webdriver.py#L714

EDIT私が使用して回避策を見つけてしまった - 私は整数に渡していることを確認した場合でも、私はまだgithubのページへのリンクはエラーここ

>>> num_secs = 15 
>>> type(num_secs) 
<type 'int'> 
>>> driver.set_page_load_timeout(num_secs) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/home/pi/Projects/yesware_prod/yesware/venv/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 727, in set_page_load_timeout 
    'pageLoad': int(float(time_to_wait) * 1000)}) 
    File "/home/pi/Projects/yesware_prod/yesware/venv/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 238, in execute 
    self.error_handler.check_response(response) 
    File "/home/pi/Projects/yesware_prod/yesware/venv/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 193, in check_response 
    raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.WebDriverException: Message: Not a Number 

をだそうですFirefox()ではなくPhantomJS()です。このチュートリアルは素晴らしいです - How to install PhantomJS for use with Python Selenium on the Raspberry Pi?

答えて

0

あなたのfirefoxのバージョンを更新するか、セレンとgeckodriverのバージョンをダウングレードする必要があります。

関連する問題