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

如何在digital-ocean Droplet上以无头模式运行用Ruby编写的selenium-webdriver脚本?

汪翰墨
2023-03-14

options=Selenium::WebDriver::Chrome::options.new(args:['start-maximized','disable-GPU‘,'no-sandbox’,'disable-setuid-sandbox‘,'disable-dable-dev-shm-usage'],binary:('/bin/chromedriver'))options.headless!

driver=Selenium::WebDriver.for(:Chrome,options:options)

我得到的错误:/usr/share/rvm/gems/ruby-2.3.1/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/remote/response.rb:69:在`assert_ok':未知错误:Chrome启动失败:异常退出(selenium::webdriver::Error::unknownerror)未知错误:DevToolsActivePort文件不存在)

感谢关注!

共有1个答案

章哲茂
2023-03-14

这就是我如何让Chrome在无头模式下运行:

options = Selenium::WebDriver::Chrome::Options.new(args: ['headless'])
driver = Selenium::WebDriver.for :chrome, options: options

您不正确地传递了一些arg,应该包括无头模式。如果您的chromedriver.exe已正确添加到路径中,您也不需要binary:('/bin/chromedriver')

因此,对于上面的示例,以下操作应该有效:

    options = Selenium::WebDriver::Chrome::Options.new(args: ['headless', 
    'start-maximized','disable-gpu', 'no-sandbox', 'disable-setuid-sandbox', 
    'disable-dable-dev-shm-usage'])
     driver = Selenium::WebDriver.for :chrome, options: options
 类似资料:
  • 问题内容: 是否存在在Webdriver,Ruby绑定中执行Eval(JavaScript执行)的已知解决方案? 等效于以下Java示例。 问题答案: 等效的Ruby将是: (要获取标签名称,您也可以只调用element.tag_name)

  • 我必须在IE 10浏览器上运行Selenium测试。为了运行以下脚本,我执行了以下操作: > 从这里下载了IEDriverServer(64位,因为我的机器是64位) 将该(. exe)文件放在“C://驱动程序”文件夹中 设置路径'C://驱动程序'在环境变量 运行脚本 运行 aboe 脚本会导致以下错误: 同样的脚本在Chrome和Firefox浏览器上运行良好。请帮助我理解我做错了什么。

  • 问题内容: 我正在用python,selenium和firefox运行此代码,但仍获得firefox的“ head”版本: 我还尝试了一些二进制的变体: 问题答案: 要不费吹灰之力地调用Firefox浏览器,可以通过以下类设置属性: 还有另一种方法可以完成无头模式。如果你需要禁用或启用Firefox中的无头模式,而无需修改代码,您可以设置环境变量,以 什么 ,如果你想Firefox的运行无头,或根

  • 我的问题很简单。我来自Python世界,在那里在程序中执行Selenium测试代码非常简单,只需编写以下内容: 当使用PHP时,事情变得越来越难:我写了类似的东西 ...当我执行phpUnit MyTest.php时,它会起作用。 但我想做的是用PHP代码实例化我的测试类,并“以编程方式”执行我的Selenium命令,比如: 这里很烂:( PHP致命错误:未捕获异常“PHPUnit_Extensi

  • 问题内容: 我已经使用selenium2周了。 到目前为止,它确实非常有用。 在开发时,我喜欢弹出浏览器,以便可以看到发生了什么,但是在生产中,我不希望服务器继续打开和关闭Firefox窗口。我浏览了这个论坛,完成了Google搜索等工作,但是找不到在后台运行浏览器的方法。 有人对如何执行此操作有提示吗? 问题答案: 尝试使用PhantomJS,这是一个无头的浏览器Webkit。 HTMLUnit

  • 问题内容: 在运行Selenium 2时,在Firefox中激活Firebug的最佳方法是什么? 编辑:好的,我意识到“最佳”是可以解释的,但是基于概要的解决方案确实曾经是硒1.0的痛苦。因此,任何替代方案都被认为是更好的方法,直到证明更糟;) 问题答案: 您可以用代码创建个人资料,并动态添加所需的加载项。假设您将Firebug XPI作为firebug.xpi保存到C:\ FF_Profile文