如何识别没有任何标签的元素的xpath?

我需要唯一标识一个元素。但是该元素没有任何标签。您能帮助唯一标识该元素吗?

<div class="mbs2_support ng-binding"><strong>Customer care? </strong>Phone 999 888 777 6</div>

在这里,我只需要识别没有“客户服务”部分的电话号码列。突出显示的一个(附加屏幕截图)我需要识别。我尝试遵循 xpath,但它占用了整行(包括客户列)

  • //div[contains(text(), ' Phone 999 888 777 6')]

  • //div[text()[normalize-space()='Phone 999 888 777 6']]


http://img4.mukewang.com/60dc3b51000159db02930046.jpg

POPMUISE
浏览 466回答 3
3回答

哔哔one

“...元素没有任何标签”实际上是不正确的。必需的文本节点是 的子节点div。您可以使用以下 JavaScript 获取它(使用JavaScriptExecutor):'return&nbsp;document.querySelector("div.mbs2_support").lastChild.textContent;'

慕莱坞森

您尝试识别的元素是text Node父<div>标签的子元素。根据您提供的用于提取文本Phone 999 888 777 6的HTML,您可以使用以下方法:executeScript()WebElement myElement = driver.findElement(By.xpath("//div[@class='mbs2_support ng-binding']"));String myText = ((JavascriptExecutor)driver).executeScript('return arguments[0].lastChild.textContent;', myElement).toString();

慕神8447489

只需提取差异的 text()子项,其中的文本<strong>是孙子项,因此不会包括在内://div[contains(.,&nbsp;'Phone&nbsp;')]/text()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java