【发布时间】:2021-12-18 08:22:53
【问题描述】:
我试图确定我们网站上的复选框是否处于选中状态。复选框的 HTML 如下:
<input id="ID_StaffIsRostered" name="ID_Rostering" type="checkbox" checked="" data-toggle="toggle" data-onstyle="success" data-size="sm" data-on="Yes" data-off="No" onchange="toggleRosteredStaff()">
我尝试通过这些定位器找到它:
(By.ID, "ID_StaffIsRostered")(By.XPATH, "input[@name='ID_Rostering']"(By.XPATH,"//*[@id='ID_StaffIsRostered']")(By.XPATH,"/html/body/div[1]/div/div[2]/div/div/div/div[2]/table[3]/tbody/tr/td/div[1]/div[2]/div/form/div/div[1]/div/label/div/input")(By.CSS_SELECTOR,"label:nth-child(1) > .btn-light .toggle-off")(By.XPATH,"//form[@id='ID_Form_Rostering']/div/div/div/label/div/div/label[2]")(By.XPATH,"//div/div/div/label/div/div/label[2]")
到目前为止没有任何效果。但是,我可以选择包含复选框的 div,以及复选框根据切换到的内容切换的标签,HTML 是:
<div class="toggle btn btn-success btn-sm" data-toggle="toggle" style="width: 7.5px; height: 26px; min-width: 38px;">
对于标签:
<div class="toggle-group"><label class="btn btn-success btn-sm toggle-on">Yes</label><label class="btn btn-light btn-sm toggle-off">No</label><span class="toggle-handle btn btn-light btn-sm"></span></div>
我可以通过哪些替代方法来实现这一目标?目前我正在使用 Selenium 4.0.0 和 Python 3.9
【问题讨论】:
标签: python selenium selenium-webdriver checkbox html-input