如何让硒Chromedriver在VBA中无头地跑?

时间:2018-02-03 12:55:25

标签: vba selenium web-scraping selenium-chromedriver headless-browser

我已经在vba中编写了一些与selenium结合使用的代码来解析一些电影以及从torrent网站发布的那一年。我在刮刀中使用了ChromeDriver。当我执行我的脚本时,它会解析所需的字段。

现在,我的问题是:我怎样才能成功headless?在其他语言中,有一些选项可以添加到驱动程序中,以执行以下操作:

chrome_options = Options
chrome_options.add_argument ("--headless")
chrome_options.add_argument ("--window-size=2160,3840")
driver = WebDriver.Chrome(chrome_options = chrome_options)

当谈到将选项添加到vba以使其无头时,我就会陷入困境。

这是我的基本方法(这是一个有效的方法,但浏览器是可见的):

Sub Demo_Test()
    Dim driver As New ChromeDriver, post As Object

    driver.get "https://yts.am/browse-movies"

    For Each post In driver.FindElementsByClass("browse-movie-bottom")
        r = r + 1: Cells(r, 1) = post.FindElementByClass("browse-movie-title").Text
        Cells(r, 2) = post.FindElementByClass("browse-movie-year").Text
    Next post
End Sub

任何有关使脚本无头的帮助都将受到高度赞赏。提前谢谢。

1 个答案:

答案 0 :(得分:0)

Florent B.我已经在ChromeDriver的评论中找到了工作解决方案,我认为我不应该保持这个帖子的开放。这就是我们如何让Sub Demo_Test() Dim driver As New ChromeDriver, post As Object With driver .AddArgument "--headless" ''This is the fix .get "https://yts.am/browse-movies" End With For Each post In driver.FindElementsByClass("browse-movie-bottom") r = r + 1: Cells(r, 1) = post.FindElementByClass("browse-movie-title").Text Cells(r, 2) = post.FindElementByClass("browse-movie-year").Text Next post End Sub 无头地运行。

完整的脚本:

brew