通过 Selenium 和浏览器开发工具获取网页上 "Total Number of links" 的计数差异
Getting Difference in count of "Total Number of links" on webpage through Selenium and Browser Development Tools
我已经编写了代码来计算网页上 link 的总数。我在 selenium 中使用了 JavascriptExecutor 。但问题是我在 Selenium 和浏览器控制台中得到的总数 link Java 脚本命令不同。以下是测试详情:
正在测试的网站:https://www.ebay.com/
测试:Ebay 主页上的 link 总数。
Selenium 代码和结果:
WebDriver driver = new ChromeDriver();
driver.get("https://www.ebay.com/");
driver.manage().timeouts().implicitlyWait(20l, TimeUnit.SECONDS);
JavascriptExecutor js = (JavascriptExecutor)driver;
System.out.println(js.executeScript(" return document.links.length"));
结果:422
但是当我在浏览器控制台中执行相同的操作时,我得到了 440。
enter image description here
我无法理解这里的区别。请有人帮助我理解
很难回答你的问题,因为你没有提到你在哪个浏览器控制台上执行了 JavaScript
命令:
document.links.length
你通过ChromeDriver
观察到的Test Result
怎么和我通过观察到的速测结果完全一样呢[= =14=]即422的确切数字。请参阅下面的快照:
然而,值得一提的是 IEDriverServer
和 GeckoDriver
都是 W3C 兼容 和 Google Chrome
和 PhantomJS
仍然是 OSS 兼容 通过不同的协议和标准呈现 HTML DOM Tree
。尽管 DOM Tree 渲染 Mechanism
的差异可能微不足道,但 delta
End Results
的差异足以 失败 你的 Validation
.
因此解决方案是始终选择任何一个变体(IE
/Firefox
/Chrome
/PhantomJS
) WebDriver
/ Web Browser
组合以验证 Manual
和 Automated
Test Results
.
我已经编写了代码来计算网页上 link 的总数。我在 selenium 中使用了 JavascriptExecutor 。但问题是我在 Selenium 和浏览器控制台中得到的总数 link Java 脚本命令不同。以下是测试详情:
正在测试的网站:https://www.ebay.com/ 测试:Ebay 主页上的 link 总数。
Selenium 代码和结果:
WebDriver driver = new ChromeDriver();
driver.get("https://www.ebay.com/");
driver.manage().timeouts().implicitlyWait(20l, TimeUnit.SECONDS);
JavascriptExecutor js = (JavascriptExecutor)driver;
System.out.println(js.executeScript(" return document.links.length"));
结果:422
但是当我在浏览器控制台中执行相同的操作时,我得到了 440。 enter image description here
我无法理解这里的区别。请有人帮助我理解
很难回答你的问题,因为你没有提到你在哪个浏览器控制台上执行了 JavaScript
命令:
document.links.length
你通过ChromeDriver
观察到的Test Result
怎么和我通过观察到的速测结果完全一样呢[= =14=]即422的确切数字。请参阅下面的快照:
然而,值得一提的是 IEDriverServer
和 GeckoDriver
都是 W3C 兼容 和 Google Chrome
和 PhantomJS
仍然是 OSS 兼容 通过不同的协议和标准呈现 HTML DOM Tree
。尽管 DOM Tree 渲染 Mechanism
的差异可能微不足道,但 delta
End Results
的差异足以 失败 你的 Validation
.
因此解决方案是始终选择任何一个变体(IE
/Firefox
/Chrome
/PhantomJS
) WebDriver
/ Web Browser
组合以验证 Manual
和 Automated
Test Results
.