一:八大元素定位,主要讲比较常用到的几种
- id 实例: driver.find_element_by_id("username").click
- class 实例:driver.find_element_by_class_name("username").click
注意:多个元素共用一个class,如果像列表内有多个按钮这种,需要操作某个按钮。可以先获取class内的所有元素,然后进行下标的方式去操作某个元素。如果需要都点击一遍,可以把返回值做一个循环操作。 - name 实例:driver.find_element_by_id("username").click
- xpath(万能,重点)实例: driver.find_element_by_xpath("/html/body/div/ul[2]/li[1]").click
- css(万能,重点)实例: driver.find_element_by_css_selector("body > div > ul > li:nth-child(2)").click
二:浏览器的操作
- 最大化,最小化
driver.maximize_window() # 最大化浏览器
driver.minimize_window() # 最小化浏览器
- 获取标签页的title、url
driver.title #获取当前标签页的title
driver.current_url #获取当前标签页的url
driver.name # 获取当前浏览器的名称
- 浏览器前进、后退、刷新
driver.forward() # 前进
driver.back() # 后退
driver.refresh() # 刷新
- 打开、关闭新标签页
# 获取当前标签页句柄
driver.current_window_handle
# 获取浏览器所有标签页句柄
handles = driver.window_handles
# 切换标签页
driver.switch_to.window(handles[-1])
# 关闭当前标签页
driver.close()
- 控制浏览器滚动条
driver.execute_script("window.scrollBy(0,1000)")x:必传,正数则向右滑动的像素值,负数则向左滑动的像素值
y:必传,正数则向下滑动的像素值,负数则向上滑动的像素值