也许有人可以帮我解决如何使用type =“radio”获取某些块div中Selenium中的所有元素 - 例如:
我有divBlock = By.CssSelector("input[class='Vertical Radio']");
如何获取divBlock中的所有元素以及divBlock中的元素是否具有type =“radio”,单击此元素?
答案 0 :(得分:0)
希望我理解正确:您希望从div块中获取所有子节点,其中您要单击单选按钮...
这里是Java,但我想你可以轻而易举地将它转换为C#: 您可以使用xpath获取所有子节点
By divBlock = By.CssSelector("input[class='textboxDate hasDatepicker']");
WebElement divElement = driver.findElement(divBlock);
//xpath to get all direct child nodes use "//" to get all child nodes and child of child nodes
String xpathExpression = "./*";
List<WebElement> elements = driver.findElements(By.xpath(xpathExpression));
for(WebElement element : elements) {
if(element.getAttribute("type").equals("radio")) {
element.click();
}
}
答案 1 :(得分:0)
你可以这样写:
foreach(var elem in driver.FindElement(divBlock).FindElements(By.XPath(".//*[@type='radio']")))
{
elem.Click();
}