在Selenium中查找脚本

时间:2018-07-02 09:15:31

标签: java selenium

有人可以通过代码帮助我在Selenium(java)中定位此元素吗?我需要找到它并获取文本。

<script type="text/javascript" language="javascript">
    var _kc={"ticket":"","currency":"EUR","market":"RO","customerData":"8","oddsFormat":"decimal","locale":"en_GB","streamingAllowedForPlayer":true,"racingMode":false,"playerId":"","enableFreeBets":false};
</script>

屏幕截图:enter image description here

我想使用AssertEquals来检查此脚本是否存在于网页中。

3 个答案:

答案 0 :(得分:1)

您可以使用:

从脚本文本中获取文本。
 String scriptText =  driver.findElement(By.xpath("//div[@id='InnerContentDiv']//script")).getAttribute("innerText");

,然后您可以使用此文本进行断言。

答案 1 :(得分:0)

您可以尝试使用cssSelector将所有内容包含在“ scipt”标签中,如下所示,然后声明文本:

driver.findElement(By.cssSelector("div.InnerContent > script")).getText();

照原样使用它,或者根据定义对象或pageFactory等的方式修改driver.findElement。

答案 2 :(得分:0)

您可以使用此:

String script = "//script[contains(.,'{\"ticket\":\"\",\"currency\":\"EUR\",\"market\":\"RO\",\"customerData\":\"8\",\"oddsFormat\":\"decimal\",\"locale\":\"en_GB\",\"streamingAllowedForPlayer\":true,\"racingMode\":false,\"playerId\":\"\",\"enableFreeBets\":false};";
List<WebElement> elements = driver.findElements(By.xpath(script));

assert(elements.size() > 0); // if size > 0, there is a script with given value