チェックボックスの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);
}