【问题标题】:Phantomjs browser element.getText() is emptyPhantomjs 浏览器 element.getText() 为空
【发布时间】:2021-02-19 21:31:30
【问题描述】:

我有一个简单的测试,它将element.getText() 值打印到控制台。如果我使用 ChromeDriver 运行代码,它可以正常工作。元素也是可见的,我正在等待元素可见,并且我在 getText() 调用之前测试了 element.isDisplayed()。但是如果我使用 Phantomjs 驱动程序运行它,getText() 的结果是一个空字符串。代码如下:

public void test() throws InterruptedException {
    openPage();

    WebElement header = driver.findElement(By.id("header"));

    new WebDriverWait(driver, 5).until(ExpectedConditions.visibilityOf(header));

    System.out.println(header.isDisplayed());
    System.out.println(header.getText());
}

此元素上有一个 CSS 转换。

这是网页https://tatrytec.eu/,它是主要标题Tatrytec.eu

谁能告诉我问题出在哪里?

【问题讨论】:

  • phantomjs.org ,该项目目前已暂停 chrome 和 phantom 使用不同的渲染引擎,因此使用 phantomjs 现在使用 chrome headless 没有意义
  • 有没有headles Chrome的驱动或者如何实现headles Chrome?
  • 补充说要回答,你只需要传递无头命令行参数

标签: java selenium webdriver phantomjs


【解决方案1】:

https://phantomjs.org/,该项目已暂停。 chrome 和 phantom 使用不同的渲染引擎,所以现在用 phantomjs 没有意义,改用 chrome headless

https://www.chromium.org/blink

以前像 phantomjs 这样的无头浏览器使用 webkit 渲染引擎,但现在 chrome 内置了无头支持并使用相同的渲染引擎闪烁

https://developers.google.com/web/updates/2017/04/headless-chrome#:~:text=Headless%20Chrome%20is%20similar%20to,the%20latest%20version%20of%20Blink.

另请注意,对于非无头镀铬,默认情况下 w3c 处于启用状态,但对于无头镀铬,它是错误的并使用 JSONwire 协议,这不会影响测试质量,仅供您参考

https://stackoverflow.com/a/65841695/6793637

截至 2021 年 2 月

https://bugs.chromium.org/p/chromedriver/issues/detail?id=1925

Headless chrome 不支持首选项设置

您可以将 headless chrome 用作:

   ChromeOptions options = new ChromeOptions();
    options.addArguments("headless");
    options.addArguments("window-size=1400,800");       
    options.addArguments("disable-gpu")
    //options.addArguments("--headless", "--disable-gpu", "--window-size=1400,800","--ignore-certificate-errors");
    WebDriver driver = new ChromeDriver(options); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多