如何使用c#在Selenium中从元素中获取元素
本文关键字:元素 获取 Selenium 何使用 | 更新日期: 2023-09-27 18:08:51
如何从元素中选择元素。例如,我有一个元素div block我想从这个div block中选择所有type等于radio:
的元素 private static readonly By divBlock =By.XPath("//*[@contains(@id, 'qst_8220_qst_8235')]");
private static readonly By elementType = By.XPath(".//*[@type='radio']");
这个代码不能为我工作:
foreach (var elem in WebDriver.FindElement(divBlock).FindElements(elementType))
{
elem.Click();
}
错误:对象引用未设置为对象的实例。
IWebElement有方法元素。所以你可以试试这个
private static readonly By divBlock =By.XPath("//*[@contains(@id, 'qst_8220_qst_8235')]");
private static readonly By elementType = By.XPath(".//*[@type='radio']");
IWebElement Block = Driver.FindElement(divBlock);
List<IWebElement> elementTypes = Block.FindElements(elementType);
Console.WriteLine(elementTypes.count);
foreach (var elem in elementTypes)
{
elem.Click();
}
试试:
IWebDriver Driver = new (select some driver);
var divBlock = Driver.FindElement(By.Xpath("//*[@contains(@id, 'qst_8220_qst_8235')]"));
var elementType = Driver.FindElements(By.XPath(".//*[@type='radio']"));
foreach (var elem in elementType.Count)
{
elem.Click();
}