0

有人可以帮我用代码在 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 来检查此脚本是否存在于网页中。

4

3 回答 3

1

您可以使用以下命令从脚本文本中获取文本:

 String scriptText =  driver.findElement(By.xpath("//div[@id='InnerContentDiv']//script")).getAttribute("innerText");

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

于 2018-07-02T10:15:38.880 回答
0

您可以尝试使用 cssSelector 来获取此“scipt”标签中的所有内容,如下所示,然后断言文本:

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

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

于 2018-07-02T09:30:36.453 回答
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
于 2018-07-02T09:34:18.117 回答