当前位置: 首页 > 知识库问答 >
问题:

使用webdriver python API时Firefox无法打开url

柳奇希
2023-03-14

我是python的新手,试图构建一个selenium代码来通过Firefox打开一个网站。我正在使用debian拉伸机进行测试。这些工具的版本如下:

geckodriver 0.24.0(2019-01-28),Python 2.7.13,Mozilla Firefox 52.7.3,selenium(3.141.0)

from selenium import webdriver
from selenium.webdriver import Firefox
from selenium.webdriver.firefox.options import Options as FirefoxOptions

        options = FirefoxOptions()
        options.add_argument("--headless")
        print (" * Opening firefox session")
        driver = webdriver.Firefox(firefox_options = options, executable_path='/usr/local/bin/geckodriver')
        driver.get("https://www.google.com")
        driver.maximize_window()
        print(driver.title)

在查看geckodriver.log时,我看到以下错误

1624193615192 mozrunner::runner INFO运行命令:“/usr/bin/firefox”-Marionette“-headless”-forreground“-no-remote”-profile“/tmp/rust_mozprofile.wwi0327b9dal”1624193616996 Marionette INFO监听端口2828

[孩子28357]###!!!中止:在通道错误上中止。:file/build/firefox-esr-52.7.3 esr/ipc/glue/messagechannel.cpp,第2152行[Child 28357]###!!!中止:在通道错误时中止。:file/build/firefox-esr-52.7.3 esr/ipc/glue/messagechannel.cpp,第2152行

###!!![Child][MessageChannel]错误:(msgtype=0x3e0003,name=pcompositable::msg_destroy)通道错误:无法发送/recv###!!![Child][MessageChannel]错误:(msgtype=0x3e0003,name=pcompositable::msg_destroy)信道错误:无法发送/recv

共有1个答案

暴奕
2023-03-14

尝试将geckodriver.exe文件放在单独的文件夹&驱动器中,并在executable_path中更新路径。
例如:

driver = webdriver.Firefox(firefox_options = options, executable_path=r"D:/Python/drivers/geckodriver.exe")
 类似资料:
  • 问题内容: 我在Ubuntu Desktop 16.04上使用Selenium WebDriver,但无法打开浏览器。Firefox更新后出现以下错误(在此之前,所有方法都可以正常工作): 问题答案: 修正 :目前的解决方案是降级Firefox!运行此命令以获取可用Firefox版本的列表。 我的结果: 安装: 要保留此版本并禁止更新:

  • 我在Ubuntu桌面16.04上使用Selenium WebDriver,无法打开浏览器。在Firefox更新之后,我出现了以下错误(在此之前,一切都正常):

  • 我已经通过命令行java-jar Jenkins.war启动了Jenkins服务器。但是,当我尝试执行Jenkins参数化作业(maven测试)时,firefox会打开片刻,然后立即关闭。 如果我使用chrome浏览器,它在Jenkins的工作很好。 注意:同样的测试在火狐和chrome浏览器上执行得很好。

  • 问题内容: 使用Python 2.5.2和Linux Debian,我试图从包含西班牙字符的西班牙URL中获取内容: 我收到此错误: UnicodeEncodeError:’ascii’编解码器无法在位置8编码字符u’\ xe1’:序数不在范围内(128) 我已经尝试过在将URL传递给urllib之前使用: 和这个: 但是他们没有用。 你能告诉我我做错了什么吗? 问题答案: 根据适用的标准RFC

  • 我有多个FireFox配置文件,我想打开一个配置文件,打开几个带有不同URL的标签,打开另一个配置文件打开带有URL的标签。出于某种原因,send_keys似乎无法工作,但window.open可以。到目前为止,这是我的代码。 它所做的只是打开reddit,等待5秒钟,然后打开stackoverflow。我该如何解决这个问题?

  • 问题内容: 在执行其他操作时,opencv可以正常工作。它可以打开图像并显示图像。但无法打开视频。 我用来打开视频的代码如下 但是执行时,它会输出如下错误消息 我和可以播放此视频,但opencv无法播放。 我已经安装和编解码器包。(使用) 我的ubuntu版本是。 我不确定是否是编解码器问题? 我已经使用或重建了opencv ,但它根本不影响问题。错误消息永远不会改变。 问题答案: 我将该文件转换