问题标签 [firefox-headless]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
269 浏览

headless - 如何让无头浏览器模仿成熟的浏览器来使用 selenium 运行 Web 应用程序?

我有一个案例,需要在无头浏览器 [Google Chrome/Mozilla Firefox] 中运行 Web 应用程序,但是当使用 selenium + 浏览器驱动程序从无头浏览器启动 Web 应用程序时,我们的 Web 应用程序将其视为不受支持浏览器并导航至浏览器升级。

我知道这种行为是我们应用程序设计方式所期望的,但我需要一种解决方法来使我们的应用程序在无头浏览器中运行,只需更改我运行具有某些所需功能的无头浏览器的方式[如果有的话]。

0 投票
1 回答
1039 浏览

python - Selenium Firefox Python 在无头模式下运行超时初始化驱动程序

  • Firefox 版本:60.9.0esr(32 位)
  • 硒版本:3.141.0
  • Geckodriver 版本:0.24.0(32 位)

所以目前一切都在非无头模式下工作。但我需要在无 GUI 的 linux 服务器中运行这个 python 脚本(因此需要无头模式)。出于某种原因,我所有无头运行的尝试都会导致 selenium Web 驱动程序在初始化时超时。

以下是回溯:

文件“c:\Users\xUser\Desktop\BOMWebService\Backend\code\FirefoxStarter.py”,第 51 行,在 StartFirefox 驱动程序 = webdriver.Firefox(options=opts,executable_path=geckoDriverFilepath)

文件“C:\Users\xUser\Desktop\BOMWebService\Backend\virEnvBOMBackend\lib\site-packages\selenium\webdriver\firefox\webdriver.py”,第 174 行,在init keep_alive=True)

文件“C:\Users\xUser\Desktop\BOMWebService\Backend\virEnvBOMBackend\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 157 行,在init self.start_session(capabilities, browser_profile)

文件“C:\Users\xUser\Desktop\BOMWebService\Backend\virEnvBOMBackend\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 252 行,在 start_session 响应 = self.execute(Command.NEW_SESSION,参数)

文件“C:\Users\xUser\Desktop\BOMWebService\Backend\virEnvBOMBackend\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 321 行,执行 self.error_handler.check_response(response)

文件“C:\Users\xUser\Desktop\BOMWebService\Backend\virEnvBOMBackend\lib\site-packages\selenium\webdriver\remote\errorhandler.py”,第 242 行,在 check_response 中引发 exception_class(消息、屏幕、堆栈跟踪)

selenium.common.exceptions.WebDriverException:消息:超时

任何指针将不胜感激。谢谢!

0 投票
1 回答
4177 浏览

python - Selenium Firefox headless 返回不同的结果

当我使用无头选项抓取包含产品的页面时,我会得到不同的结果。
对于同一个问题,一次我得到未排序的结果,另一次得到正确排序的结果。

硒火狐浏览器:

根据这篇文章:
“使用无头选项时,firefox 不会发送不同的标头”。

如何使用无头选项从抓取中获得恒定的结果?

更新:

事实证明,广告弹出窗口隐藏了价格排序菜单。通过设置DebanjanB发布的恒定窗口大小,问题得到解决。

感谢您的任何建议

0 投票
1 回答
552 浏览

python-3.x - Python-Selenium:剪贴板功能(ctrl + c)在 Firefox 无头模式下不起作用

我在 firefox 无头模式下使用 ActionChains 函数,但它不起作用。我有这个滚动的 divcode_scroll = driver.find_element_by_class_name('CodeMirror-scroll')我想在这个 div 内双击,然后复制/粘贴整个文本。double_click()函数工作正常,我已经对其进行了测试,但我认为key_down/keyupsend_keys()函数不起作用。底线:文本未被复制。

PS 代码在正常模式下运行良好。

驱动配置:

代码:

关于设置窗口的手动大小,我已经尝试了几个答案,但没有一个有效。

已经尝试过的解决方案:

0 投票
0 回答
639 浏览

firefox - Mozilla Firefox 无头屏幕截图不适用于本地 HTML 文件

我无法使用 Firefox (v60.9.0)无头模式生成本地 HTML 文件的屏幕截图

这是我正在使用的命令:

我尝试过使用和不使用配置文件以及文件后使用不同数量的斜杠。命令行中没有错误 - 它只是不生成输出。

当我将 file:// 替换为外部网站时,此命令可以正常工作,例如:

它可能与这里提到的重定向错误有关吗?

任何帮助表示赞赏!也许有一种方法可以为 --headless 模式打开输出详细程度?

0 投票
1 回答
1113 浏览

spring - 在 Spring Boot 应用程序中嵌入无头浏览器?

对于我的 Spring Boot 应用程序,我需要能够响应请求(对 REST API 的 HTTP 请求)启动无头浏览器,呈现一些网站(HTML+CSS+JS),执行一些分析并获取响应。

以前我使用 JavaFX 构建了一个原型,并且正在使用这个库https://github.com/MachinePublishers/jBrowserDriver

你知道任何其他可以嵌入到 Spring Boot 应用程序中的无头浏览器吗?

编辑:对于 Node.js,我想我会尝试使用 puppeteer

0 投票
1 回答
56 浏览

python - Pycharm评估表达式和实际执行不同

我正在使用本主题中的代码尝试使用无头浏览器获取网站的 HTML。这是我的完整代码:

当我让代码运行并打印时,结果是一个空列表: [] 但是如果我使用 Pycharm 评估器,我会得到一个包含 20 个元素的列表。

在此处输入图像描述

看起来代码中的求值器和实际命令执行的不同,或者分配不顺利。

我将不胜感激。谢谢!

0 投票
1 回答
642 浏览

python - 使用 Selenium Python 客户端在不同浏览器中处理无头模式

我目前正在开发一个使用 Selenium 的 python (3.7) CLI 程序,它将被不同的人群使用。

我遇到的问题如下:

对于在Chrome中设置“无头”等选项,我使用

对于Firefox,代码如下所示:

所以我想知道是否有一种方法可以规范化这些设置/优雅地处理不同的浏览器,或者我是否必须将所有内容基本上编写 2 次甚至 3 次(可能会添加 Safari 或 Opera)?

0 投票
2 回答
217 浏览

selenium - 屏幕截图中缺少 firefox-headless 控制框 - selenium - linux

我面临完全相同的问题https://github.com/mozilla/geckodriver/issues/1358

从 linux 截取的 Firefox-headless 模式截图缺少输入框

问题:

我们有什么办法可以解决这个问题。我正在使用 FF 83

0 投票
1 回答
1517 浏览

python - AttributeError: 'Options' object has no attribute 'binary' 使用 GeckoDriver 通过 Selenium 调用 Headless Firefox 错误

当我尝试运行我的代码时,我收到此错误:

当我删除关于选项的行并取出“firefox_options=options”时,代码工作正常。我应该怎么做才能解决这个问题?