如果您已经知道复选框的 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);
}