我尝试使用以下xpath
driver.findElement(By.xpath("//div[contains(@class,'ReactTags__selected')]//span[1]/text()"));
但获取以下错误
“org.openqa.selenium.InvalidSelectorException:选择器无效:xpath表达式的结果”//div[包含(@class,'ReactTags\uu selected')]]//span[2]/text()“是:[对象文本]。它应该是元素。”
<div class="ReactTags__selected">
<span class="tag-wrapper ReactTags__tag" style="opacity: 1; cursor: auto;" draggable="true">
"TestName"
<a class="ReactTags__remove">×</a>
</span>
</div>
由于父元素包含属性,所以它总是一个动态元素,确切地说是React元素。此外,由于文本测试名是一个文本节点,您需要为元素定位的可见性(visibilityOfElementLocated())引入WebDriverWait,并且可以使用以下任一定位器策略:
>
css选择器
:
System.out.println(((JavascriptExecutor)driver).executeScript('return arguments[0].firstChild.textContent;', new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div.ReactTags__selected > span.tag-wrapper.ReactTags__tag")))).toString());
xpath
:
System.out.println((String)((JavaScriptExecutor)driver).executeScript("return arguments[0].firstChild.textContent;", new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@class='ReactTags__selected']/span[@class='tag-wrapper ReactTags__tag']")))));
xpath中的返回文本节点,Selenium不支持它。找到元素并使用getText()获取文本
WebElement element = driver.findElement(By.xpath("//div[contains(@class,'ReactTags__selected')]//span[1]"));
String text = element.getText();
请尝试以下Xpath。
希望有帮助
//div[contains(@class,'ReactTags__selected')]//span[2]/a/text()
我尝试使用 在此输入图像描述 如果我打印出来,我会得到: 我想:“荷兰人在中国的问题。”
有了下面的XML示例文档,我需要发出一个XPath/XQuery表达式来获取CD元素的每个子元素的元素名。 所以我需要的查询返回标题,艺术家,国家,国家,价格,年份,任何人都可以帮助请?谢谢
我有一个方法接受InputStream作为参数。如何找到传递的处理程序正在处理哪个文件? 例如: 文件名应该替换为什么,以便显示处理程序打开的文件的名称。
我正在尝试从网页复制一个文本元素并在我的控制台中打印它,作为对未来项目的测试。 这些是我收到错误时的行: 错误是这样的: 然后我的chomedrive关闭了。有什么问题?
我有一个使用XPath使用类标题“hivered by”(这个类对所有类都是相同的)获得“电子艺术”(这可以根据数据改变)下面的文本的要求。我尝试了各种xpath编码,但无法得到我想要的结果。我真的在找人帮忙。
我的Android应用程序中有以下字符串: