我的目标:
当我访问特定页面时,我需要点击10个复选框
我的代码:
def select_checkbox(self):
checkboxes = self.find_elements(EventsLocators.CHECKBOX_SELECTOR)
for each_checkbox in checkboxes:
each_checkbox.click()
我的问题:
测试结果显示成功,但未选择复选框
我的定位器:
CHECKBOX_SELECTOR =(By.CSS_SELECTOR,“输入[type ='复选框']”)
HTML:
<span class="left">
<input id="id_qa-timesheets_facilitator_sign_complete" name="qa-timesheets_facilitator_sign_complete" type="checkbox">
<label>Time sheets complete with team lead sign off</label>
<br>
<span class="help_text"></span>
</span>
答案 0 :(得分:0)
首先检查print checkboxes
是否真正显示10个网络元素。如果是这样,但仍然无法点击复选框,请尝试使用click()
中的JS
方法而不是常用方法(有时常见的click()
不起作用):
def select_checkbox():
checkboxes = driver.find_elements_by_css_locator('input[type="checkbox"]')
for each_checkbox in checkboxes:
if not each_checkbox.is_selected(): # just to be sure that you make check, but not uncheck
driver.execute_script('arguments[0].click()', each_checkbox)
由于我不熟悉您的框架,我将其设为简单的功能,因此根据需要进行更改