如何使用selenium获取以下XML的文本

时间:2016-04-21 07:23:01

标签: selenium

datastore.NewKey()

大家好, 我必须打印“请输入有效的会员ID”。但是,当我尝试使用下面的代码行时,值将打印为

× 请输入会员ID

<div class="alert alert-danger alert-dismissible" role="alert">
<button class="close" aria-label="Close" data-dismiss="alert" type="button">
<span aria-hidden="true">×</span>
</button>
Please enter valid Member ID
</div>

请建议。

3 个答案:

答案 0 :(得分:0)

尝试以下XPath: -

//div[@class='alert alert-danger alert-dismissible' and @role='alert']/text()[2]

希望它会对你有所帮助:)。

答案 1 :(得分:0)

如果你去看innerHtml div元素。你会看到2个孩子。一个是您的x符号,另一个是您想要的文字。

所以基本上你需要识别文本元素而不是x字符,所以你必须找到文本,然后切换到第二个元素。这是你如何做到的: -

//div[@role='alert']/text()[2]

答案 2 :(得分:0)

您可以直接找到div并在其上使用getText(),如下所示:

WebDriver browser=WebDriverFactory.getDriver("file:///C:/Users/Desktop/test.html");
System.out.println(browser.findElement(By.xpath(".//div[@class='alert alert-danger alert-dismissible']")).getText());

<强>输出

× Please enter valid Member ID

然后只做一些字符串处理,这应该取消垃圾字符