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
通常用于单击按钮(