G. *_*ena 5 c# linq selenium selenium-chromedriver selenium-webdriver
我正在使用 Selenium WebDriver 进行自动化,并且获得了表的所有元素。
我使用了下面的代码:
var qntd= driver.FindElements(By.XPath("//*[@id='dataTable']/tbody/tr")).Skip(3);
Run Code Online (Sandbox Code Playgroud)
然后我意识到每个元素生成的 Id 不是 Html 中所示的 Id
我尝试通过查询检索此 id,但我不能,因为返回的是 HTML Id 属性
var query = from a in qntd
select a.GetAttribute("Id");
Run Code Online (Sandbox Code Playgroud)
该 ID 从哪里来以及如何检索它?
不幸的是,您将无法访问此字段,因为“FindElements”方法以 IWebElement 的形式返回元素。IWebElement 没有实现获取您正在查找的 ID 值的方法。
如果 FindElements 方法要返回 RemoteWebElement 类型,甚至是 ChromeWebElement,我们将能够访问此字段,因为 RemoteWebElement 有一个方法可以访问它。但是,该方法并未在接口中实现。所以我们没有办法得到它。我尝试过选角,但没能选到正确的位置。所以到目前为止,我还没有找到获得此 ID 的方法。
有关更多信息,请参阅 RemoteWebElement.cs 源代码: https://github.com/SeleniumHQ/selenium/blob/master/dotnet/src/webdriver/Remote/RemoteWebElement.cs
希望这对你有一点帮助