小编jib*_*bbs的帖子

使用Selenium WebDriver查找任何给定元素的下一个兄弟

我正在尝试创建一个给定WebElement查找并返回下一个元素的方法.我已经找到了很多关于使用带有"follow"或"follow-sibling"的XPath应该工作的例子,但是我无法让它工作.出于这个问题的目的,我将展示html,但是元素类型与我需要的东西无关,因为我想要一个给定任何类型的任何元素(a/ul/div/whatever)的泛型方法它将返回下一个兄弟姐妹,不论其类型.

<a id="blah" href="#" class="stuff">"My Label"</a>
<ul class="some-class">
    <li>...</li>
    <li>...</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我的错误调试代码:

IWebElement element = driver.FindElement(By.Id("blah"));
IWebElement nextElement = element.FindElement(By.XPath("//following-sibling::ul[@class='some-class']"));
Run Code Online (Sandbox Code Playgroud)

我怀疑我的xpath语法是错误的...我坦率地说是无能为力."//"是指相对于元素还是DOM本身?有没有办法在不知道下一个元素的标签是什么的情况下这样做?无论它是什么类型,我都想获得下一个元素.我想找出最简单,最通用的方法来做到这一点.我想拥有什么:

public IWebElement NextSibling(IWebElement element) 
{
    IWebElement nextSibling = element.FindElement(By.?("magical string to find next sibling"));
    return nextSibling;
}
Run Code Online (Sandbox Code Playgroud)

...这正是你在javascript中已经可以做的事情 element.nextSibling()

c# selenium selenium-webdriver

5
推荐指数
1
解决办法
5074
查看次数

标签 统计

c# ×1

selenium ×1

selenium-webdriver ×1