WebDriver--简单元素操作
- clear():清除文本,可用来键盘输入前清除一些input输入框默认的值
- send_key(*value):模拟按键输入
- click():单击,不止按钮,也可以是文字/图片链接、复选框、单选框、下拉框等
-
1 driver.find_element_by_id("loginName").clear() 2 driver.find_element_by_id("loginName").send_keys('tzhang') 3 driver.find_element_by_id("pwdTip").send_keys(Keys.TAB) 4 driver.find_element_by_id("pwdTip").send_keys('111111') driver.find_element_by_css_selector("[type=submit]").click()
其他一些有用的方法:
- submit():用于提交表单,和click操作类似,但是还未尝试过,应用不如click广
- size:返回元素的尺寸
- text:获取元素的文本,标签对之间的文本信息;这个在写代码的过程中用过,当时好像是查资料时见到过,然后凭感觉尝试的,成功了,原来是有这么个方法的;
1 driver.find_element_by_xpath("html/body/form/div/div/div[1]/div[1]/div/h2").text#跳转到第二步后的课程名称 2 driver.find_element_by_class_name("m-sugbox").text#学习建议输入框的标题
- get_attribute(name):获得属性值;没用过这个,用过type(),括号里是想知道的元素属性
- is_displayed():查看该元素是否用户可见
键盘事件:
send_keys()方法也可以输入键盘上的按键,Keys类提供了键盘上几乎所有按键的方法
from selenium.webdriver.common.keys import Keys #使用键盘按键方法前需要先导入keys类
send_keys(Keys.TAB)#登录或提交表单页切换各个元素时常用
send_keys(Keys.ENTER)#登录或查询时常用
send_keys(Keys.SPACE)
send_keys(Keys.ESCAPE)
send_keys(Keys.BACK_SPACE)
send_keys(Keys.CONTROL,'a')
send_keys(Keys.CONTROL,'c')
send_keys(Keys.CONTROL,'x')
send_keys(Keys.CONTROL,'v')
send_keys(Keys.F1)