我正在尝试使用python中的硒来使用javascript抓取一些动态页面。但是,在pypi页面(http://pypi.python.org/pypi/selenium)上遵循硒的说明后,我无法调用firefox。我在AWS
ubuntu 12.04上安装了firefox。我收到的错误消息是:
In [1]: from selenium import webdriver
In [2]: br = webdriver.Firefox()
---------------------------------------------------------------------------
WebDriverException Traceback (most recent call last)
/home/ubuntu/<ipython-input-2-d6a5d754ea44> in <module>()
----> 1 br = webdriver.Firefox()
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.pyc in __init__(self, firefox_profile, firefox_binary, timeout)
49 RemoteWebDriver.__init__(self,
50 command_executor=ExtensionConnection("127.0.0.1", self.profile,
---> 51 self.binary, timeout),
52 desired_capabilities=DesiredCapabilities.FIREFOX)
53
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.pyc in __init__(self, host, firefox_profile, firefox_binary, timeout)
45 self.profile.add_extension()
46
---> 47 self.binary.launch_browser(self.profile)
48 _URL = "http://%s:%d/hub" % (HOST, PORT)
49 RemoteConnection.__init__(
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.pyc in launch_browser(self, profile)
42
43 self._start_from_profile_path(self.profile.path)
---> 44 self._wait_until_connectable()
45
46 def kill(self):
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.pyc in _wait_until_connectable(self)
79 raise WebDriverException("The browser appears to have exited "
80 "before we could connect. The output was: %s" %
---> 81 self._get_firefox_output())
82 if count == 30:
83 self.kill()
WebDriverException: Message: 'The browser appears to have exited before we could connect. The output was: Error: no display specified\n'
我确实在网上搜索,发现其他人也遇到了这个问题(https://groups.google.com/forum/?fromgroups=#!topic/selenium-
users/21sJrOJULZY)。但是我不理解解决方案,如果可以的话。
谁能帮我吗?谢谢!
问题是Firefox需要显示。我在示例中使用pyvirtualdisplay来模拟显示。解决方案是:
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(1024, 768))
display.start()
driver= webdriver.Firefox()
driver.get("http://www.somewebsite.com/")
<---some code--->
#driver.close() # Close the current window.
driver.quit() # Quit the driver and close every associated window.
display.stop()
请注意,pyvirtualdisplay需要以下后端之一:Xvfb,Xephyr,Xvnc。
这样可以解决您的问题。
问题内容: 我正在尝试使用python中的selenium来使用javascript抓取一些动态页面。但是,在pypi页面(http://pypi.python.org/pypi/selenium)上遵循selenium的说明后,我无法调用firefox。我在AWS ubuntu 12.04上安装了firefox。我收到的错误消息是: 我确实在网上搜索,发现其他人也遇到了这个问题(https://
我正在尝试使用python中的selenium来使用javascript刮取一些动态页面。但是,在我遵循pypi页面上的selenium指令之后,我无法调用firefox(http://pypi.python.org/pypi/selenium).我在AWS ubuntu 12.04上安装了firefox。我收到的错误消息是: 我在网上搜索了一下,发现这个问题发生在其他人身上(https://gr
当我从jenkins运行作业时,它没有调用ant,并以以下错误失败。请澄清。 编辑:我正在使用“Invoke Ant”。同样的设置在windows slave中运行良好。
我使用的代码: 错误: C:\Users\Dell\PycharmProjects\ATF_TestOrder\venv\Scripts\python.exe C:/Users/Dell/PycharmProjects/ATF_TestOrder/ATF_TestOrder/ATF_TestOrder.py回溯(最后一次调用):driver.switch_至_frame(“上载映像”)文件第18行
我有一个Lambda函数,用于部署无服务器框架的无头铬蟒蛇硒,在本地运行良好,但在lambda上崩溃。 一些基本的细节:(驱动程序信息:chromeDrive=2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706),平台=Linux4.14.231-180.360.amzn2。x86_64x86_64) Chromium版本:89xx硒==3.
我试图创建一个类,该类将有一个接一个地测试超文本传输协议代理的方法,直到我有一个工作的代理,我可以添加到一个selenium网络驱动程序实例中。 我有一个原始输入来验证代理是否在webdriver中工作,如果它不工作,它应该测试另一个代理并请求我确认,然后关闭驱动程序或保持打开状态。(我删除了使用测试方法的if语句,因为我得到了一个错误) 当我在终端中输入“n”时,当我被要求确认时,它会关闭浏览器