我正在尝试在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'
答案 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以获取非常类似问题的答案。