首页 文章

Firefox空白webbrowser与selenium

提问于
浏览
3

当我用python firefox webdriver调用firefox webbrowser时,firefox打开一个空白页面(导航栏中没有任何内容),等待并关闭 .

python consol给我这个错误:

回溯(最近一次调用最后一次):文件"firefox_selenium2.py",第4行,在driver = webdriver.Firefox()文件"/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/webdriver.py",第80行,在 init self.binary,超时)文件"/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/extension_connection.py",第52行,在 init self.binary.launch_browser( self.profile,timeout = timeout)文件"/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/firefox_binary.py",第68行,在launch_browser中self._wait_until_connectable(timeout = timeout)文件"/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/firefox_binary.py",第108行,在_wait_until_connectable%(self.profile.path)中)selenium.common.exceptions.WebDriverException:Message :无法加载配置文件 . 配置文件目录:/ tmp / tmpngm7g76x如果在FirefoxBinary构造函数中指定了log_file,请检查它是否有详细信息 .

我的代码是来自python selenium的例子read_the_doc:来自selenium的导入webdriver来自selenium.webdriver.common.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 selenium版本2.53.6 python 3.5

1 回答

  • 2

    根据这篇文章https://github.com/SeleniumHQ/selenium/issues/2739#issuecomment-249479530,你需要使用一种名为Gecko Driver的东西,在这里找到https://github.com/mozilla/geckodriver . 其他人也成功回到Firefox的早期版本(48之前) . 我实际上知道如何做任何一种解决方案并且进展缓慢 .

    嗨丹尼斯,我会发布我的一步一步的解决方案,因为我得到它的工作 .

    Step by Step解决方案

    问题是Selenium和Firefox不再相互支持了 . 我实际上并不理解为什么,但希望有人可以比我更详细的评论和解释 . 有两种可能的解决方案 . 一个是安装一个名为Geckodriver的东西 . 我已经安装了但是很难将它添加到我的PATH中并且通常发现自己很沮丧 .

    Instead 我走了一条更简单的路线 . 首先我用命令卸载了firefox

    sudo apt-get purge firefox
    

    然后我从这里下载了Firefox 47.0.1(我选择了英文美国版) . 然后我将它从我的下载文件夹移动到我的主文件夹 . 然后我用这个命令解压缩它 .

    tar xjf firefox-47.0.1.tar.bz2
    

    您的号码Firefox可能与我的不同 . 然后我进入该目录

    cd firefox
    

    这让我进入了那个目录 . 然后剩下的就是运行命令

    sudo apt install firefox
    

    之后我再次使用了Selenium的版本 . 令人高兴的是,我回来编写代码而不是配置东西!

相关问题