当我使用python firefox webdriver调用firefox webbrowser时,firefox打开一个空白页面(导航栏中没有任何内容),等待并关闭。
python consol给我这个错误:Traceback(最近一次调用最后一次):
File "firefox_selenium2.py", line 4, in <module> driver = webdriver.Firefox() File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/webdriver.py", line 80, in __init__ self.binary, timeout) File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 52, in __init__ self.binary.launch_browser(self.profile, timeout=timeout) File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 68, in launch_browser self._wait_until_connectable(timeout=timeout) File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 108, in _wait_until_connectable % (self.profile.path)) selenium.common.exceptions.WebDriverException: Message: Can't load the profile. Profile Dir: /tmp/tmpngm7g76x If you specified a log_file in the FirefoxBinary constructor, check it for details.
我的代码是来自python selenium read_the_doc的例子:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()
任何帮助将不胜感激
PS:firefox版本49 硒版本2.53.6 python 3.5
答案 0 :(得分:2)
根据这篇文章 https://github.com/SeleniumHQ/selenium/issues/2739#issuecomment-249479530 这就是你需要使用Gecko Driver这里的东西https://github.com/mozilla/geckodriver。其他人也成功回到Firefox的早期版本(48之前)。我也遇到了这个问题,并且实际上并不了解如何解决问题并且进展缓慢。
嗨丹尼斯,我现在已经逐步解决了这个问题,我已经开始工作了。
问题在于Selenium和Firefox不再相互支持。我实际上并不理解为什么,但希望有人可以比我更详细地评论和解释。有两种可能的解决方案。一个是安装一个名为Geckodriver的东西。我已经安装了但是很难将它添加到我的PATH中并且通常发现自己很沮丧。
相反我选择了一条更简单的路线。 首先,我使用命令
卸载了firefoxsudo apt-get purge firefox
然后我从这里下载了Firefox 47.0.1(我选择了英文美国版)。然后我将它从我的下载文件夹移动到我的主文件夹。然后我用这个命令解压缩它。
tar xjf firefox-47.0.1.tar.bz2
您的号码Firefox可能与我的不同。然后我进入该目录
cd firefox
将我带入该目录。然后剩下的就是运行命令
sudo apt install firefox
之后我再次使用了Selenium的版本。我很高兴回到编写代码而不是配置东西!