作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Selenium 2 (Webdriver) 在网页上进行自动化测试。但是我想知道是否有办法使用 webdriver 框架从复选框列表中选中复选框?
我尝试了这段代码,但没有成功:
IWebElement box = ffDriver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_Adde_div']"));
List<IWebElement> chkbox = box.FindElements(By.TagName("input"));
ffDriver.FindElement(By.Id("ctl00_ContentPlaceHolder1_Add_lstCategory_0"));
//chkbox.g(2).click();
最佳答案
如果您已经知道复选框的 id,则可以使用此方法来单击选择它:
string checkboxXPath = "//input[contains(@id, 'lstCategory_0')]"
IWebElement elementToClick = driver.FindElement(By.XPath(checkboxXPath));
elementToClick.Click();
假设页面上有多个具有相似 ID 的复选框,您可能需要将“lstCategory_0”更改为更具体的内容。
这是用C#编写的,但是适应其他语言应该不难。另外,如果您用更多信息编辑您的帖子,我可以更好地调整这个示例。
让我知道这是否有效!
<小时/>我访问了该网站并使用以下代码成功与下拉小部件中的复选框进行了交互:
/** Set XPath Variables **/
string dropdownWidgetXPath = "//span[contains(@id, 'selInd')]";
string checkboxXPath = "//input[contains(@id, 'selInd')]";
/** Navigate to the page **/
driver.Navigate().GoToUrl("http://www.jobserve.com/us/en/Job-Search/");
/** Click the dropdown widget **/
IWebElement dropdownWidgetElement = driver.FindElement(By.XPath(dropdownWidgetXPath));
dropdownWidgetElement.Click();
/** Identify all checkboxes present **/
var allCheckboxes = driver.FindElements(By.XPath(checkboxXPath));
/** Click each checkbox and wait so that results are visible **/
foreach(IWebElement checkbox in allCheckboxes)
{
checkbox.Click();
System.Threading.Thread.Sleep(500);
}
关于selenium - 如何通过 Java 中的 Selenium/Webdriver 单击复选框列表中的复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11888786/
我是一名优秀的程序员,十分优秀!