有人可以通过代码帮助我在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>
屏幕截图:
我想使用AssertEquals来检查此脚本是否存在于网页中。
答案 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