selenium webDriver的运用


声明实例运行浏览器

配置浏览器驱动后,可以通过简单的2行代码就可以驱动浏览器(配置这里不加赘述)

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

1.简单操作

1.1浏览器操作

driver.back()#后退
driver.forward()#前进
driver.refresh()#刷新
1.2浏览器窗口操作

driver.maximize_window()#浏览器最大化窗口
driver.minimize_window()#浏览器最小化窗口
driver.close()#关闭浏览器
driver.set_window_position(坐标X,坐标Y) #移动浏览器到坐标位置
driver.set_window_size(宽度像素,高度像素)#讲浏览器窗口设置指定大小
driver.set_window_rect(坐标X,坐标Y,宽度像素,高度像素)#将浏览器窗口移动到指定位置,同时设置窗口大小
1.3获取浏览器信息
print(driver.title) #百度一下,你就知道
print(driver.current_url) #https://www.baidu.com/
#获取位置对象
driver.get_window_position()
#获取大小对象
driver.get_window_size()
#获取位置和大小对象
driver.get_window_rect()

2查找页面元素

#基本查找元素
from selenium.webdriver.common.by import By

driver.find_element(By.ID,"kw").send_keys("")
driver.find_element(By.NAME,"wd").send_keys("")
driver.find_element(By.LINK_TEXT,"新闻").click()
xpath表达式
/子节点 //任意位置 *任意元素 .当前节点 ..父级极点 子节点稳定//*[@属性=“属性值”]/.. 这样就可以向上找到节点在往上继续/.. 然后往下找div[索引] following-sibling::同节点最近的下一个(小哥) preceding-sibling::同节点最近的上一个(大哥) @代表属性 格式 属性://*[@属性=“属性值”] 文本://*[text()='文本值'] 模糊查询 [ contains(@属性/text(),“值”)] starts_with(@属性/text(),“值”):以xxx开始 :属性,文本值 多条件查询and: //*[@属性=‘值’ and@属性=‘值’ ] svg元素 //*[name()='svg']

3元素基本操作

click

通常用于单击按钮(