我正在尝试使用selenium webdriver找到一种通过java从网站中提取数据层对象的方法。 我正在尝试自动化发送到gtm的内容。 有人可以就如何继续进行指导。
答案 0 :(得分:0)
只需使用JavascriptExecutor
通过WebDriver进行JavaScript调用。以下内容从dataLayer
:
Object x = ((JavascriptExecutor) driver).executeScript("dataLayer[0]['content']['name']");
最简单的方法是首先在浏览器控制台(Chrome开发者工具,Firebug等)中手动测试JavaScript命令。一旦您知道它返回正确的值,只需在自动化测试中传递给executeScript()
。
API不是类型安全的,所以棘手的是小心将返回的Object强制转换为正确的类型。