首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法找到与document.querySelector的atag链接

无法找到与document.querySelector的atag链接
EN

Stack Overflow用户
提问于 2019-09-28 16:03:02
回答 2查看 142关注 0票数 2

我正在试图找到一个包含:ng-click="showModal()"并具有innerText: 1122334455的链接。

我试过使用下面的代码,但它找不到链接(atag)。我不知道在使用:document.querySelector的代码线中会有什么问题?(这一行是问题所在)

atag所在位置的HTML代码,类似于:

代码语言:javascript
复制
<td class="col-reservation-id text-center">
  <span class="overflow-text">
    <a class="highlight" ng-click="showModal()">1122334455</a>
  </span>
</td>

C#/javascript代码以查找上述

代码语言:javascript
复制
public async Task<bool> clicklink(ChromiumWebBrowser browser)
{
    String atag = "document.querySelector('" + "a[ng-click=" + '"' + "showModal()" + '"' + "].innerText === '1122334455'" + "')";

    String clickinputscript = atag + ".focus(); " +
                              atag + ".click(); ";

    bool success = false;
    try
    {
        success = (await browser.GetMainFrame().EvaluateScriptAsync(clickinputscript)).Success;
    }
    catch (Exception ex) { success = false; }
    return success;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-28 16:29:27

您不能将JS代码放在document.querySelector的查询字符串中。

你必须在选择之后去做。要做到这一点,请使用document.querySelectorAll和一个for循环:

代码语言:javascript
复制
for(const element of document.querySelectorAll('a[ng-click="showModal()"]').values()){
  if(element.innerText === '1122334455'){
    element.focus()
    element.click()
    break
  }
};

或者,转换成C#-土地:

代码语言:javascript
复制
String clickinputscript = "for(const element of document.querySelectorAll('a[ng-click=" + '"showModal()"'+"]').values()){if(element.innerText === '1122334455'){element.focus();element.click();break;};};";
票数 2
EN

Stack Overflow用户

发布于 2019-09-28 16:11:19

这很可能是因为ng-click不是propper属性,尝试通过id或class :)找到它:)

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58148053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档