带有 Selenium 的 ChromeDriver 显示空白页

Posted

技术标签:

【中文标题】带有 Selenium 的 ChromeDriver 显示空白页【英文标题】:ChromeDriver with Selenium displays a blank page 【发布时间】:2020-06-24 05:07:01 【问题描述】:

我正在使用 Selenium(Java) 和 Chrome 访问以下网站:

https://www.ebay-kleinanzeigen.de/m-einloggen.html?targetUrl=/

问题是它总是显示一个空白页。这是我的代码:

ChromeOptions cap = new ChromeOptions();
cap.setBinary("C:\\Program Files (x86)\\Google\\Chrome Beta\\Application\\chrome.exe");

System.setProperty("webdriver.chrome.driver","C:\\Users\\Admin\\Downloads\\chromedriver_win32beta\\chromedriver.exe");
WebDriver driver=new ChromeDriver(cap);


driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

driver.manage().window().maximize();


    try 
        driver.get("https://www.ebay-kleinanzeigen.de/m-einloggen.html?targetUrl=/");

    catch(Exception e)
        System.out.println(e);
    

我尝试过的所有其他网站都可以正常工作,但这个网站不想出现。我曾尝试从 Firefox、Chrome 和 Edge 访问该网站,它们也显示一个空白页面。我正在使用 Selenium(3.141.59)、ChromeDriver(81.0.4044.20) 和 Chrome Beta(81.0.4044.62)。 这是我浏览网站时的 HTML 代码:

【问题讨论】:

正文是空的,不是吗? 【参考方案1】:

看起来这个站点可以检测到 Selenium 并且不使用它打开。

您可以使用 Chrome 选项将其隐藏。在打开 url 之前尝试添加这样的参数:

ChromeOptions options = new ChromeOptions();
options.addArguments("disable-blink-features=AutomationControlled");
ChromeDriver driver = new ChromeDriver(options);

希望这有帮助,祝你好运!

【讨论】:

这解决了我的问题。非常感谢!【参考方案2】:

我遇到了同样的问题。检查您请求的页面是否返回成功的 HTTP 状态代码,例如 200。在我的情况下,它返回了 40x 错误,导致页面为空白。

【讨论】:

【参考方案3】:

它适用于selenium stealth 和以下选项

options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)

【讨论】:

以上是关于带有 Selenium 的 ChromeDriver 显示空白页的主要内容,如果未能解决你的问题,请参考以下文章

爬虫系列---selenium详解

如何在 Selenium Chromedriver 中设置时区?

无法在要素文件中运行多个方案

在 Selenium 2 中使用 Chrome 驱动程序

sh install_latest_chromedrive_linux.sh

怎样使用Python调用我们平时使用的chrome浏览器