我在Selenium IDE中记录了我的测试;它在Firefox和Chrome中运行良好。当我在IE 9中运行它时,我不断收到此错误。我是编码的新手,我很难找到答案。如果有人能用非专业人士的说法向我解释发生了什么/为什么会出现这种情况,我会很感激。
org.openqa.selenium.NoSuchElementException: Unable to find element with css selector == BODY (WARNING: The server did not provide any stacktrace information)
Java代码:
assertTrue(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Final[\\s\\S]*$"));
答案 0 :(得分:0)
我建议在调用之前打印出driver.getPageSource()并检查当前页面上的html是否符合您的期望。
如果它符合您的预期,那么我会打印出与By.cssSelector("BODY")
匹配的所有标记的文本内容,并查看其中是否包含您期望的文本。
这将缩小错误的位置 - 您可能需要找到另一种查找此元素的方法。
答案 1 :(得分:0)
内部通过Internet Explorer使用XPath和套管问题。
尝试使用
assertTrue(driver.findElement(By.cssSelector("body")).getText().matches("^[\\s\\S]*Final[\\s\\S]*$"));
而不是
assertTrue(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Final[\\s\\S]
* $“));
我相信这应该适合你。
答案 2 :(得分:0)
IE浏览器不支持不区分大小写的CSS属性选择器。尝试使用
driver.findElement(By.cssSelector("body"));