绿巨人
铁人
雷神
如何仅获取Thor文本而不在xpath中使用contains?
如果我尝试获取div文本,它将给我全部3个(绿巨人,钢铁侠,雷神),但我只想要雷神。
答案 0 :(得分:3)
要提取文本 Thor 而不在xpath中使用包含,您可以使用以下任一解决方案:
xpath
:
String myText = driver.findElement(By.xpath("//div[not(@label)]")).getText();
cssSelector
:
String myText = driver.findElement(By.cssSelector("div:not(label)")).getText();
使用JavaScriptExecutor
WebElement myElement = driver.findElement(By.xpath("//div[@attribute='value']")); //replace the pseudo attribute with actual attribute
String myText = ((JavascriptExecutor)driver).executeScript('return arguments[0].lastChild.textContent;', myElement).toString();
注意:确保以//div[not(@label)]
的 xpath 和以div:not(label)
的 cssSelector 的形式类似于HTML DOM。
答案 1 :(得分:0)
能否请您尝试以下提到的路径?
/div/text()