如何在没有显示的情况下在Linux中执行selenium webdriver

时间:2016-06-23 03:05:31

标签: python linux selenium

我正在尝试在centos中使用selenium webdriver来测试我的网页。 但是,当我执行该过程时,我收到一条错误消息。 有人能帮助我吗?

from pyvirtualdisplay import Display
from selenium import webdriver

display=Display(visible=0, size=(320, 240)).start()
path = "/usr/bin/firefox"
driver= webdriver.Firefox(path)
driver.get("www.google.com")
html_source = driver.page_source
print html_source
driver.close()

以下是错误消息:

File "/var/www/test/test.py", line 19, in <module>
driver= webdriver.Firefox(path)
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 54, in __init__
self.NATIVE_EVENTS_ALLOWED and self.profile.native_events_enabled)
AttributeError: 'str' object has no attribute 'native_events_enabled'

1 个答案:

答案 0 :(得分:0)

非常确定您的问题与您尝试将路径作为字符串传递给firefox二进制文件的事实有关,而不是作为&#34; FirefoxBinary&#34;另外,Firefox()的第一个参数是FirefoxProfile()。执行以下操作可以解决问题。

from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

display=Display(visible=0, size=(320, 240)).start()
binary = FirefoxBinary("/usr/bin/firefox") 
driver= webdriver.Firefox(firefox_binary=binary)
driver.get("www.google.com")
html_source = driver.page_source
print html_source
driver.close()

请参阅此post以获取非常类似问题的答案。