即使标识了标记,也无法检索 div 标记中的文本



我正在尝试检索嵌入在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>

尝试遵循 xpath,因为所需的 div 标签是具有类 'alert__icon' 的 div 的子节点:

//div[@class='login-card js-login-card']/div[@role='alert']/div[1]/div

让我知道,如果它适合你。

也许你想试试这个

div[class*="error-text"]

如果它不起作用,请尝试通过使用此执行 javascript 代码来获取文本

$$( "div[class*="error-text"]" ).text()  OR  .val()/.html()

祝你好运!

你可以

将包含与xpath一起使用,类似于//div[contains(@class,'error-text' ( ],使用findelement将检索第一个符合条件的元素。如果它仍然返回空,则意味着页面可能有多个与条件匹配的元素

最新更新