Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XPath选择第一个子节点或元素的所有子节点?_C#_Selenium_Xpath - Fatal编程技术网

C# XPath选择第一个子节点或元素的所有子节点?

C# XPath选择第一个子节点或元素的所有子节点?,c#,selenium,xpath,C#,Selenium,Xpath,我正在尝试使用xpath获取一个包含Selenium的li元素子节点的集合,但它返回null document.DocumentNode.SelectNodes("//*[@class='jSC57 _6xe7A']//div//li"); Javascript伪代码: document.getElementsByClassName("jSC57 _6xe7A")[0].firstChild.childNodes 我想在XPATH中得到它——但它返回null document.Docum

我正在尝试使用xpath获取一个包含Selenium的li元素子节点的集合,但它返回null

document.DocumentNode.SelectNodes("//*[@class='jSC57  _6xe7A']//div//li");
Javascript伪代码:

document.getElementsByClassName("jSC57  _6xe7A")[0].firstChild.childNodes
我想在XPATH中得到它——但它返回null

document.DocumentNode.SelectNodes("//*[@class='jSC57  _6xe7A']//div//li");
HTML示例:

<div class="isgrP">
    <ul class="jSC57  _6xe7A">
        <div class>
            <li class="wo9IH">
                <div class="li-container">
                    testing
                </div>
            </li>
        </div>
    </ul>
</div>
根据您的语句文档.getElementsByClassNamejSC57 _6xe7A[0].firstChild.childNodes,我假设您要在此处检索什么。getElementsByClassNamejSC57_6xe7A将返回ul元素的列表。然后,您的[0]将获得第一个ul。firstChild将获取第一个div元素,childNodes指出现在div下的li元素

要获取您试图从树中检索的li元素,我可能不使用这些类名-它们看起来是动态的,并且在每次加载页面时可能会更改

我将使用以下XPath:

document.DocumentNode.SelectNodes("//ul/div//li");
这将获得显示在li元素下的所有div节点

但对于您的目的来说,这可能太笼统了-如果您想使用类名,可以这样修改:

document.DocumentNode.SelectNodes("//ul[@class='jSC57  _6xe7A']/div/li");

你能分享你的html代码吗please@Pratik我已经附加了我的html。我已经更新了我的html,因为我忘记了一个元素-你能修改你的答案吗?谢谢。如果有意义的话,我也在尝试获取li-inside-div而不是li-inside-div。我看到了您更新的HTML示例。我会更新我的答案。为了澄清,我假设您要检索一个li元素列表,所以我就是这样重新格式化我的答案的。谢谢,/li是指只获取第一个li还是全部li?/li将获取所有li元素。要获取第一个,可以使用/li[1]。