我如何检查按钮内的文本内容。 if 语句无法识别文本

Posted

技术标签:

【中文标题】我如何检查按钮内的文本内容。 if 语句无法识别文本【英文标题】:how do i check the textcontent inside a button. the if statement isnt recognising the text 【发布时间】:2022-01-11 03:54:31 【问题描述】:

Linkedin search result 所以在搜索页面上,我只想选择带有连接的按钮。 if 语句似乎没有检查 connect 是否是文本内容。

var buttons = document.getElementsByClassName('artdeco-button artdeco-button--2 artdeco-button--secondary ember-view')
for (var i = 0; i < buttons.length; i++) 
  console.log(buttons[i].textContent)
  if (buttons[i].textContent == 'Connect') 
    console.log(i)
  

<button aria-label="Invite x to connect" id="ember82" class="artdeco-button artdeco-button--2 artdeco-button--secondary ember-view"><!---->
    <span class="artdeco-button__text">
        Connect
    </span></button>

result 连接不应该有对应的i吗?

【问题讨论】:

请显示相关的 html,因为我们无法猜测其中是否还有更多内容(可能是空格?)。 您在进行网页抓取时不需要显示 Html 代码。 【参考方案1】:

您正在对字符串 "Connect" 执行完全匹配,但失败了,因为您的示例中的 textContent 还包含一堆空格。

您可以在测试前使用String.prototype.trim() 将其删除。

var buttons = document.getElementsByClassName('artdeco-button artdeco-button--2 artdeco-button--secondary ember-view')
for (var i = 0; i < buttons.length; i++) 
  console.log(buttons[i].textContent)
  if (buttons[i].textContent.trim() == 'Connect') 
    console.log(i)
  

<button aria-label="Invite x to connect" id="ember82" class="artdeco-button artdeco-button--2 artdeco-button--secondary ember-view"><!---->
    <span class="artdeco-button__text">
        Connect
    </span></button>

【讨论】:

以上是关于我如何检查按钮内的文本内容。 if 语句无法识别文本的主要内容,如果未能解决你的问题,请参考以下文章

C#中如何检查文本框的输入信息是不是为数字?

DataGrid-RowDetailsTemplate 内的堆栈面板中的变量无法识别

地图内的 if 语句

如何在卡片内的按钮上进行 onclick 事件:更改卡片背景颜色、按钮背景和文本颜色以及文本内容

如何使用 if-else 语句检查按钮点击历史? C#

将鼠标悬停在按钮上时如何更改 div 的文本?