Selenium .getText()未从div类标记检索文本消息
从下面的HTML代码Selenium .getText()未从div类标记检索文本消息,selenium,selenium-webdriver,Selenium,Selenium Webdriver,从下面的HTML代码 <div class="message-main-contents"> <div class="message-title">Title Message</div> <div class="message-content"> <div class="licenseexpiryannouncement"> <div> Message Content
<div class="message-main-contents">
<div class="message-title">Title Message</div>
<div class="message-content">
<div class="licenseexpiryannouncement">
<div>
Message Content 1
<a class="licenseexpiryannouncement-installlicenselink">Link that can be clicked</a>
under Home> Upload.
</div>
<div>Message Content 2</div>
</div>
</div>
以下是你问题的答案:
@FindBy(how = How.XPATH, using = "//div[@class='message-title']")
private WebElement contentMessageTitle;
String titleMessage = contentMessageTitle.getText();
System.out.println(titleMessage);
或
或
如果回答了您的问题,请告诉我。以下是您问题的答案:
@FindBy(how = How.XPATH, using = "//div[@class='message-title']")
private WebElement contentMessageTitle;
String titleMessage = contentMessageTitle.getText();
System.out.println(titleMessage);
或
或
如果这能回答您的问题,请告诉我。我在代码中也遇到过这样的情况:getText()方法不会返回文本,而是返回空字符串。我通过读取属性值“textContent”找到了解决方法 您可以使用变通方法阅读文本
String titleMessage = contentMessageTitle.getAttribute("textContent");
通过这种方式,您可以读取“contentMessageTitle”定位器的内容。我在代码中有时也遇到这样的情况,即getText()方法不会返回文本,而是返回空字符串。我通过读取属性值“textContent”找到了解决方法 您可以使用变通方法阅读文本
String titleMessage = contentMessageTitle.getAttribute("textContent");
通过这种方式,您可以阅读“contentMessageTitle”定位器的内容。您如何知道您拥有正确的元素?您是否在浏览器开发控制台中尝试了XPath,以验证它是页面上唯一(或至少第一个)满足定位器要求的XPath?@JeffC IMO,即使是第一个匹配,也无法在所有浏览器和版本中工作。定位器
xpath
或css
需要是唯一的:Thanks@JeffC我在浏览器开发控制台中测试了XPATH,以验证只有该特定元素返回。@DebanjanB确实返回了。我一直在用它。有时您无法获得唯一的定位器。您如何知道您拥有正确的元素?您是否在浏览器开发控制台中尝试了XPath,以验证它是页面上唯一(或至少第一个)满足定位器要求的XPath?@JeffC IMO,即使是第一个匹配,也无法在所有浏览器和版本中工作。定位器xpath
或css
需要是唯一的:Thanks@JeffC我在浏览器开发控制台中测试了XPATH,以验证只有该特定元素返回。@DebanjanB确实返回了。我一直在用它。有时你无法得到一个唯一的定位器。
String titleMessage = contentMessageTitle.getAttribute("textContent");