标签:idt image 包含 checkbox selenium nbsp driver 默认 src
首先,自己编写一个html,包含3个复选框,如下图:
HTML代码如下:
<html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>checkbox</title> </head> <body> <h3>checkbox</h3> <div class="well"> <form class="form-horizontal"> <div class="control-group"> <label class="control-label" for="c1">checkbox1</label> <div class="controls"> <input type="checkbox" id="c1" /> </div> </div> <div class="control-group"> <label class="control-label" for="c2">checkbox2</label> <div class="controls"> <input type="checkbox" id="c2" /> </div> </div> <div class="control-group"> <label class="control-label" for="c3">checkbox3</label> <div class="controls"> <input type="checkbox" id="c3" /> </div> </div> </form> </div> </body> </html>
下面,来勾选这3个复选框
与前面定位一组元素的方法类似,只在element后加s,即可定位一组元素,例如:find_elements_by_id()
1 from selenium import webdriver 2 import time, os 3 4 driver = webdriver.Chrome() 5 # path.abspath()方法用于获取当前路径下的文件 6 file_path = ‘file:///‘ + os.path.abspath(‘checkbox.html‘) 7 driver.get(file_path) 8 9 checkboxes = driver.find_elements_by_xpath("//input[@type=‘checkbox‘]") # 找到复选框 10 11 for chekbox in checkboxes: # 遍历每一个复选框,并点击勾选 12 chekbox.click() 13 time.sleep(1) 14 15 driver.quit()
也可以按如下方式查找并勾选元素:
inputs = driver.find_elements_by_tag_name(‘input‘) for i in inputs: if i.get_attribute(‘type‘) == ‘checkbox‘: i.click() time.sleep(1)
另外,还可以进行其它操作:
print(len(checkboxes)) # 打印复选框的个数 driver.find_elements_by_xpath("//input[@type=‘checkbox‘]").pop().click() # 将最后一个复选框的勾选去掉
pop()方法,用于获取列表中的某一个元素,默认为最后一个,并返回该元素的值。若想勾选一组元素中的某一个元素,可按如下方法:
标签:idt image 包含 checkbox selenium nbsp driver 默认 src
原文地址:https://www.cnblogs.com/xiaochongc/p/12452724.html