元素定位
# coding:utf-8
页面刷新:
driver.refresh()
页面切换:
driver.back()返回上一页
driver.forward()切换到下一页
设置窗口大小:
driver.set_windows_size(540,960)
driver.maximize_window() # 浏览器窗口最大化
截屏:
driver.get_screenshot_as_file("D:\\test\\b.jpg")
退出:
close()用于关闭当前窗口,当窗口较多时,可以使用它
quit()用于结束进程,关闭所有的窗口,可以回收c盘的临时文件
输入框:
id = "";class = "";name = "";
find_element_by_id(" ").send_keys("")
find_element_by_name("属性").send_keys("value")
find_element_by_class_name("").send_keys("")
find_elements_by_class_name("")[index].send_keys("")#在一类事物中查找某一元素,引用索引方法
elements表示多个
Link Text查找元素
通过某个超链接的文本字符进行查询
-xpath元素定位:
路径方法定位;绝对、相对路径
相对路径:html/body/div[3]/div/form/table/tbody/tr[4]/td[2]
.//*from/table/tobody/tr[7]/td[2]
driver.find_element_by_xpath(".//*from/table/tobody/tr[7]/td[2]").click()
绝对路径:driver.find_element_by_xpath("//*[@id=\"password\"]").send_keys(123456) #使用‘\’转义符
复选框的点击:
cnumber = driver.find_elements_by_xpath("//input")
print("复选框的总数为:%d" %(len(cnumber)))
for cn in cnumber:
cn.link()
首先识别复选框,获取个数,而后通过列表循环方式逐个点击
鼠标操作:
针对鼠标的操作,单击,双击,右键,拖拽等操作,封装了Actionchains类,模拟鼠标操作时;
需要先导入Actionchains类。
from selenium.webdriver.common.action_chins import ActionChins
鼠标单击:定位某个元素后点击
driver.find_element_by_name("loginsumit").click()
鼠标双击:需要先定位到某个具体的元素,然后使用double_click方法实现双击
da = Driver.find_element_by_name("XXX")
ActionChains(driver).doubie_click(da).perform()
Perform()函数表示执行ActionChains中所定义的动作
1、find_element_by_id():可以通过它的id属性单位到这个元素,定位到搜索框后,用send_keys()方法。
driver.find_element_by_id("kw").send_keys("输入要搜索的内容")
2、find_element_by_name():也可以通过它的name属性单位到这个元素,这个搜索框的name属性不是唯一的,无法通过name属性直接定位到输入框。
driver.find_element_by_id("wd").send_keys("输入要搜索的内容")
3、find_element_by_class_name():也可通过class属性单位到这个元素,用send_keys()方法。
driver.find_element_by_class_name("s_ipt").send_keys("输入要搜索的内容")
4、find_element_by_tag_name():从上面的定位的元素属性中,可以看到每个元素都有tag(标签)属性,如搜索框的标签属性,就是前面的input,在一个页面中,相同的标签有很多,所以一般不用标签来定位。
5、find_element_by_link_text():定位文字超链接元素,如页面元素:
<a class='mnav' target='_blank' href='http://www.hao123.com'>hao123</a>
从上面的元素属性可以分析出,有个href='http://www.hao123.com';说明它是个超链接对于这种元素,可以用以下方法:
driver.find_element_by_link_text("hao123").click()