使用Selenium进行无头Web自动化

3

我长期以来一直在使用Selenium webdriver进行自动化操作。PhantomJS驱动程序(现已被弃用)是一种非常棒的无头自动化方式,因为您不需要像chromedriver和chrome浏览器那样匹配驱动程序版本。我知道chromedriver和firefox驱动程序都可以启用无头功能,但问题在于它们两个的驱动程序需要始终升级并与当前操作系统的浏览器版本匹配。请帮帮我。

此外,我很想听听是否有其他方法可以进行无头web自动化而不需要任何依赖(独立运行)。

与我的问题相关的编程语言: 1. Python 2. C# 3. VB.net 4. Java

如果任何人对任何一种语言或除这四种语言之外的任何其他语言中的任何方法有任何想法,请留下您的答案。

1个回答

13

正如您所提到的

  • 是的,Chrome和Firefox浏览器都有无头模式。
  • 您需要更新版本,也是肯定的。

但是您可以使用Web Driver Manager来消除这个问题。因此,您甚至不需要手动下载chromedriver.exe。

WebDriverManager.chromedriver().setup();
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--no-sandbox");
chromeOptions.addArguments("--headless");
chromeOptions.addArguments("disable-gpu");
ChromeDriver driver = new ChromeDriver(chromeOptions);
  

Web驱动程序管理器依赖项

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>3.6.2</version>
</dependency>

Git Hub 链接 https://github.com/bonigarcia/webdrivermanager


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接