1. 什么是Selenium?
selenium:自动化测试工具,让我的程序连接到浏览器,让浏览器完成各种复杂的操作,我们直接接受最终的结果。可以:打开浏览器,然后像人一样去操作
2.环境搭建
- 第一步:安装selenium
pip install selenium
image.png - 第二步:给Google配置Chromedriver的驱动环境
- 查看浏览器信息
image.png
确定版本号为92.0.4515.107 - 打开网址https://registry.npmmirror.com/binary.html?path=chromedriver/下载对应版本的驱动器
image.png - 找到对应系统的Chromedriver进行下载
image.png - 解压缩将chromedriver.exe文件下载至python解释器中
4.1 如何查看python解释器地址?
image.png
我的是C:\Users\ShanJialan\anaconda3\
之后将chromedriver.exe
复制到路径里就可以了
3- 如何使用?
基础语法
- find_element()的返回结果是一个WebElement对象,如果符合条件的有多个,默认返回找到的第一个,如果没有找到则抛出NoSuchElementException异常。
- find_elements()的返回结果是一个包含所有符合条件的WebElement对象的列表,如果未找到,则返回一个空列表。
简易测试环境配置是否成功?
from selenium.webdriver import Chrome web = Chrome() web.get('http://www.baidu.com') print(web.title)
image.png
成功!!!
4. Demo:去拉勾网输入python查看工作岗位
from selenium.webdriver import Chrome from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time # 操作的网页 url = 'https://www.lagou.com/' # 打开网页 # 创建浏览器对象 web = Chrome() web.get(url) # 将地址选为武汉 el = web.find_element(By.XPATH,'//*[@id="changeCityBox"]/ul/li[8]/a') el.click() # 防止页面还没有渲染出来导致后面的找元素失败 time.sleep(1) # 找到输入框输入'python'进行搜索 web.find_element(By.XPATH,'//*[@id="search_input"]').send_keys('python',Keys.ENTER) items = web.find_elements(By.XPATH,'//*[@id="jobList"]/div[1]/div') print(len(items)) for item in items: # // *[ @ id = "jobList"] / div[1] / div[1] / div[1] / div[1] / span / div / div[1] position = item.find_element(By.XPATH,'./div[1]/div[1]/span/div/div[1]/a').text price = item.find_element(By.XPATH,'./div[1]/div[1]/div[2]/span').text print(position,price)