gpt4 book ai didi

python - 在 ubuntu 上从 python 启动 selenium

转载 作者:太空宇宙 更新时间:2023-11-04 10:08:51 24 4
gpt4 key购买 nike

我有以下脚本

from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://localhost:8000')

assert 'Django' in browser.title

出现以下错误

$ python3 functional_tests.py 
Traceback (most recent call last): File "functional_tests.py", line 3, in <module>
browser = 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 99, in _wait_until_connectable
"The browser appears to have exited " selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details.

pip3 list 显示 selenium (2.53.6)

firefox -v 显示 Mozilla Firefox 47.0

最佳答案

我也曾为这个问题苦苦挣扎,而且我对不得不使用旧版本的 Firefox 感到不满意。这是我使用最新版本的 Firefox 的解决方案。然而,它涉及几个步骤

第 1 步。从以下位置下载下一代 FirefoxDriver v0.9.0 Marionette:https://github.com/mozilla/geckodriver/releases/download/v0.9.0/geckodriver-v0.9.0-linux64.tar.gz

第 2 步。 将文件解压缩到所需的文件夹,并将其重命名为“wires”。在我的例子中,我在文档下创建了一个名为“add_to_system_path”的文件夹。所以该文件在 Documents/add_to_system_path/wires 中(还要确保 wires 文件在其属性下是可执行的)

第 3 步。在您的主文件夹下创建一个名为“.pam_environment”的文件,然后在上面添加此行并保存

PATH DEFAULT=${PATH}:/absolute/path/to/the/folder/where/wires/is/saved

它的作用是告诉 ubuntu 将 .pam_environment 中的枚举目录添加到您的系统路径中

第 4 步。 保存文件,注销您的用户 session ,然后重新登录。这是必要的,以便新添加的系统路径中的文件被 ubuntu 识别

第 5 步。使用下面的代码实例化浏览器实例:

`
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

capabilities = DesiredCapabilities.FIREFOX
capabilities["marionette"] = True
browser = webdriver.Firefox(capabilities=capabilities)
browser.get('http://your-target-url')`

Firefox 现在应该能够像往常一样实例化。

关于python - 在 ubuntu 上从 python 启动 selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39478101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com