我正在尝试检索div标签内嵌的文本。部分HTML代码如下。我咨询了其他现有的答案,但标签位置成功,但文本以空字符串的形式返回。我的目的是检索' div'之间的字符串。标记为"您输入的用户名或密码无效,请重试。"
我使用了xpath
//div[@class='login-card js-login-card']/div[@role='alert']/div[2]
我使用了css
.alert__heading.js-alert--error-text
这只将标记名称作为div返回,但将文本作为空字符串返回。 任何想法或更正?
<div class="login-card js-login-card">
<div class="login-page__alert alert alert--error tt js-alert--error" role="alert">
<div class="alert__icon">
<div class="alert__heading js-alert--error-text">You entered an invalid username or password, please try again. </div>
</div>
<div id="cmePageWrapper" class="page-wrapper page-wrapper--card"> </div>
答案 0 :(得分:0)
尝试关注 xpath ,因为必需的 div 标记是 div 的子节点,其中包含类&#39; alert__icon&#39;:< / p>
//div[@class='login-card js-login-card']/div[@role='alert']/div[1]/div
如果它对您有用,请告诉我。
答案 1 :(得分:0)
也许你想试试这个
div[class*="error-text"]
如果没有工作,请尝试使用此
执行javascript代码来获取文本$$( "div[class*="error-text"]" ).text() OR .val()/.html()
祝你好运!
答案 2 :(得分:0)
你可以使用包含xpath的东西,比如// div [contains(@class,'error-text')],使用findelement会检索符合条件的第一个元素。如果它仍然返回空,则表示该页面可能有多个符合条件的元素