我需要在使用python 3.8和chromedrive的网页中选择所有复选框。
这个函数在javascript中工作,我想在python
相同的代码< script type = "text/javascript" >
function selects() {
var ele = document.getElementsByName('chk');
for (var i = 0; i < ele.length; i++) {
if (ele[i].type == 'checkbox')
ele[i].checked = true;
}
}
您可以将任何JS代码传递给seleniumdriver
,例如:
script = '''
var ele = document.getElementsByName('chk');
for (var i = 0; i < ele.length; i++) {
if (ele[i].type == 'checkbox')
ele[i].checked = true;
}'''
diver.get("https://somedomain.com/")
driver.execute_script(script)
谢谢吴威廉,你的回答很有帮助!Find_element_by_ *命令在python 3.7+中已弃用我做了一些修改
xPath = "//input[@type='checkbox']"
elems = driver.find_elements("xpath", xPath)
for elem in elems:
if elem.tag_name == "input" and elem.get_attribute("type") == "checkbox":
elem.click()
这个代码为我工作,再次感谢。