【问题标题】:RSelenium - starting server in the background (without window popup)RSelenium - 在后台启动服务器(不弹出窗口)
【发布时间】:2020-07-29 02:57:34
【问题描述】:

我最近买了一台新的 MacBook,它似乎改变了几个 RSelenium 设置。我已经让我的抓取再次正常工作,除了当我使用rsDriver 启动服务器时,会弹出一个实际的窗口,我不知道如何停止它。

我确实喜欢这个功能,因为它使调试变得更加容易,但我在工作时会在后台运行多个脚本,并且每当rsDriver 被使用时,它就会成为桌面焦点。这非常令人沮丧,因为它扰乱了我目前的工作。

要启动驱动程序,我运行:

remDrall <- rsDriver(port = 4446L, browser = "chrome", chromever = "84.0.4147.30", verbose = F)

完成后,会弹出一个带有 url = "data:," 的 chrome 窗口。我觉得这应该是一个简单的解决方法(例如 silent = TRUE 参数),但我查看了文档并找不到任何东西。

运行 Catalina v 10.15.4

RSelenium 包是 v 1.7.1

旁注,但我不确定我的 rsDriver 语句是如何工作的,因为端口与我的 docker 映像不同。我用$ docker run -d -p 4567:4444 selenium/standalone-chrome 打开我的docker,但如果我尝试使用rsDriver(port = 4567L),它就不起作用,因为它说端口已经在使用中。所以我什至没有端口 4446 的 docker 映像,但我的 rsDriver 语句仍然有效...

【问题讨论】:

    标签: r docker selenium rselenium


    【解决方案1】:

    尝试添加:

    extraCapabilities = list("chromeOptions" = list(args = list('--headless')))  
    

    作为 rsDriver 的额外参数。

    【讨论】:

    • 感谢您的回答 - 如果您添加了关于您的建议代码的作用以及您推荐它的原因的解释,那就更好了。例如。不同的论点有什么作用?
    • 完美运行,谢谢!如果你不介意我问,你怎么知道要查这个?即使知道了答案,我在任何 rsDriverRSelenium 文档中都找不到关于 extraCapabilities 的任何信息。
    • 没有我知道的文档。 Selenium WebDriver(和 RSelenium)是运行 Web 浏览器的工具。为避免弹出窗口,您需要运行浏览器headlessly。如果您在 Google 上搜索“RSelenium headless”,您会偶然发现诸如 this 之类的示例。如果您之前没有听说过“无头浏览器”这个词,那么您会被卡住。
    猜你喜欢
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多