[英]How to Find the user define email address exact match to a web list using Javascript
用户将提供一个特定的 email 地址。 在本例中,varEmail = "admin@domain-name.onmicrosoft.com"。 现在我必须以编程方式在 web 页面列表上检查它。 我应该能够返回 web 页面列表中用户定义的 email 地址的精确匹配。
我还使用这个 Javascript 来获取 web 页面列表中的 email 之一。
(Array.from(document.getElementsByClassName("ms-List-surface")[2].getElementsByClassName("ms-List-cell")).filter(name => name.textContent.match(/admin@domain-name.onmicrosoft.com/)))
我怎么得到 2 output 而不是确切的用户定义 email 地址。 Output: psi-admi@domain-name.onmicrosoft.com admin@domain-name.onmicrosoft.com
我希望这里有人会注意到我的帖子并帮助我解决这个问题。 谢谢大家!
只是一个更新,这是我到目前为止所尝试过的。
Array.from(document.getElementsByClassName("ms-List-surface")[2].getElementsByClassName("ms-List-cell")).filter(acct => acct.textContent === 'admin@domain-name.onmicrosoft.com');
返回空空结果
顺便说一句,下面是我需要从中获取电子邮件/帐户的页面的屏幕截图。 合规新内容搜索
我猜你的 HTML 中的数据有一些垃圾,这就是为什么精确匹配找不到你需要的东西。
在比较之前尝试清理字符串,例如:
filter(name => name.textContent.trim().toLowerCase() === 'admin@domain-name.onmicrosoft.com')
这样你就可以删除字符串开头和结尾的所有空格,并将其转换为小写(以防万一有人搞砸了)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/tolowercase
此查询已解决。 感谢我的经理的帮助,他解决了这一切。 再一次,我刚刚见证了一个很酷的专业开发人员的职业道德,从识别位置和方式、正确的搜索关键字等等。
所以,耶,新提要,新学习!
这是他与我分享的代码行。
const userRow = document.evaluate("//div[text()='admin@domain-name.onmicrosoft.com']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.offsetParent;
他检查并分析了控制台的结果。 由于我使用的是 'textContent' 或 'innerText',我们去那里看看它的价值。 我们发现两者都附加了多余的字符串(例如 usernameadmin@domain-name.onmicrosoft.com ) ,这就是上述建议的解决方案不起作用的原因(顺便说一下,我要感谢@Facundo 和@tromgy ).
从那里,他找到了解决问题的方法并提出了解决方案。
请参阅以下链接供您参考:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.