编辑框操作:
清空输入框:ele.clear()
获取输入框已经输入的文本:input_ele.get_attribute('value')
单选框操作(radio button):
定位元素,调用click()方法
勾选框操作(CheckBox):
通过is_selected()查看元素是否处于选中状态
调用click()进行选择
复选框操作:
有两种,第一种是可以选择多个元素的多选下拉框
对应的HTML:
<select multiple>
<option value="benz">奔驰S300</option>
<option value="accord">雅阁</option>
</select>
第二种,只能选择一个元素的单选下拉框
对应的HTML:
<select>
<option value="male">男</option>
<option value="female" selected="selected">女</option>
</select>
操作:
将元素用Select类包装一下
模拟选择(两种下拉框都通用):调用select_by_visible_text(),参数是option元素的文本值
取消选择(仅限第一种选择框):deselect_by_visible_text()
取消所有选择(仅限第一种选择框):deselect_all()
查找元素:
1、找到select元素
WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,'//select[@name="ft"]')))
select_ele = driver.find_element_by_xpath('//select[@name="ft"]')
2、实例化select类:
s = Select(select_ele)
3、查找方式:
方式一:value属性值
s.select_by_value('xls')
方式二:index下标,下标从0开始
s.select_by_index(4)
方式三:可见文本内容
s.select_by_visible_text('所有格式')
例子:
获取编辑框值:
driver.get('http://www.baidu.com') ele = driver.find_element_by_id('kw') ele.send_keys('python') time.sleep(2) value = ele.get_attribute('value') print(value)
勾选框操作(CheckBox):
eles = driver.find_elements_by_css_selector('div input') for ele in eles: if ele.is_selected():# 判断是否已选中 ele.click() # 如果选中则取消选中 else: ele.click() # 如果没选中则选
复选框操作:
se = driver.find_element_by_id('multi') # 根据value来选择 Select(se).select_by_value('benz') Select(se).select_by_value('accord') # 根据visible_text来选择 Select(se).select_by_visible_text('奔驰S300') # 根据索引值来选择 index从0开始 Select(se).select_by_index(0) # 根据value值来取消选中 Select(se).deselect_by_value('benz') # 根据text来取消选中 Select(se).deselect_by_visible_text('奔驰S300') # 全部取消选中 Select(se).deselect_all() # 复选框操作 :单选 Select(se).deselect_by_visible_text('男') # 会报错NotImplementedError: You may only deselect options of a multi-select time.sleep(3) driver.quit()