【问题标题】:Execute JavaScript querySelectorAll on especial element using Selenium使用 Selenium 在特殊元素上执行 JavaScript querySelectorAll
【发布时间】:2018-06-16 15:12:51
【问题描述】:

根据this question,我想通过以下方式在我的 JavaScript 代码中找到一个元素:

     IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
     string count = 
         js.ExecuteScript(
         "return document.querySelectorAll('ul.tag-list > li.tag-item').length")
         .ToString();

而且它工作正常。但是我需要在页面的特殊部分而不是整个文档中运行我的 JavaScript 代码。 还是这样吗?

【问题讨论】:

  • 您需要为此编写更准确的 CSS 选择器。分享您的 HTML。

标签: javascript c# selenium


【解决方案1】:

是的,您也可以在元素上使用querySelectorAll。所以选择元素(通过querySelectorgetElementById),然后在其上使用querySelectorAll

return document.querySelector('selector for the area of the page').querySelectorAll('ul.tag-list > li.tag-item').length;

您也可以使用一个复合选择器(在现有选择器的左侧添加更多)来执行此操作,具体取决于父容器是否有多个匹配项等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多