Phantomjs 浏览器 element.getText() 为空
Phantomjs browser element.getText() is empty
我有一个简单的测试,它将 element.getText()
值打印到控制台。如果我 运行 使用 ChromeDriver 的代码,它可以毫无问题地工作。元素也是可见的我正在等待直到元素可见并且我还在 getText()
调用之前测试了 element.isDisplayed()
。但是如果我 运行 它与 Phantomjs driver 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/,也是主要的headerTatrytec.eu
谁能告诉我问题出在哪里?
https://phantomjs.org/ ,该项目现已暂停。 chrome 和 phantom 使用不同的渲染引擎,所以现在使用 phantomjs 没有意义,改用 chrome headless
https://www.chromium.org/blink
以前像 phantomjs 这样的无头浏览器曾经使用 webkit 渲染引擎,但现在 chrome 有内置的无头支持并使用相同的渲染引擎 blink
另请注意,对于非无头 chrome,w3c 默认处于启用状态,但对于无头 chrome,它是 false 并使用 JSONwire 协议,这不会影响测试质量,仅供参考
截至 2021 年 2 月
https://bugs.chromium.org/p/chromedriver/issues/detail?id=1925
Headless chrome 不支持首选项设置
你可以使用 headless chroem 作为 :
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);
我有一个简单的测试,它将 element.getText()
值打印到控制台。如果我 运行 使用 ChromeDriver 的代码,它可以毫无问题地工作。元素也是可见的我正在等待直到元素可见并且我还在 getText()
调用之前测试了 element.isDisplayed()
。但是如果我 运行 它与 Phantomjs driver 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/,也是主要的headerTatrytec.eu
谁能告诉我问题出在哪里?
https://phantomjs.org/ ,该项目现已暂停。 chrome 和 phantom 使用不同的渲染引擎,所以现在使用 phantomjs 没有意义,改用 chrome headless
https://www.chromium.org/blink
以前像 phantomjs 这样的无头浏览器曾经使用 webkit 渲染引擎,但现在 chrome 有内置的无头支持并使用相同的渲染引擎 blink
另请注意,对于非无头 chrome,w3c 默认处于启用状态,但对于无头 chrome,它是 false 并使用 JSONwire 协议,这不会影响测试质量,仅供参考
截至 2021 年 2 月
https://bugs.chromium.org/p/chromedriver/issues/detail?id=1925
Headless chrome 不支持首选项设置
你可以使用 headless chroem 作为 :
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);