Python Selenium set_page_load_超时:不是一个Numb

2024-07-03 07:42:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个非常简单的selenium脚本运行在一个覆盆子pi上。在

我遇到了一个没有加载特定页面的问题,所以我想将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

我不知道是什么问题。即使我确认我传递的是一个整数,我仍然得到错误

^{pr2}$

以下是指向github页面的链接-https://github.com/SeleniumHQ/selenium/blob/fa24958570432ee6eadaadc9a7fb92e1ee380dfc/py/selenium/webdriver/remote/webdriver.py#L714

编辑我最终找到了一个解决方法,使用PhantomJS(),而不是Firefox()。本教程非常棒-How to install PhantomJS for use with Python Selenium on the Raspberry Pi?


Tags: toinpynoneremotedriverseleniumdisplay