1、selenium的安装
(1)安装selenium包,在控制台输入:
pip install selenium
(2)安装Chrome驱动:
网址https://npm.taobao.org/mirrors/chromedriver/96.0.4664.45/
下载压缩包后需要解压,并且需要把exe文件放入python解释器所在目录下,寻找解释器位置可以在cmd命令中输入where python
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
2、selenium的用法
最简单的
from selenium.webdriver import Chrome
web=Chrome() #打开谷歌浏览器
web.get("http://www.baidu.com") #访问网址
print(web.title) #获取标题
web.close() #关闭网页
需要导入的常用模块有:
from selenium.webdriver import Chrome from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By
打开网页后点击某个元素:
# 找到某个元素,点击它 el = web.find_element(By.XPATH, '//*[@id="changeCityBox"]/p[1]/a') el.click() # 点击操作
路径的选择方法如下:
打开网页,按F12打开抓包工具,依次点击一下按钮便可以找到模拟浏览器点击的按钮。
在搜索框内输入内容并且进行搜索,路径的选择如上,主要后面用上send_keys函数,也可以click搜索按钮。
web.find_element(By.XPATH, '//*[@id="search_input"]').send_keys("python", Keys.ENTER)
拿数据:
divs_list = web.find_elements(By.XPATH, '//*[@id="jobList"]/div[1]/div')
for div in divs_list:
name = div.find_element_by_tag_name('a').text #拿数据
print(name)
窗口问题:
关于打开新的窗口,下面代码打开了一个新的网页,但自动化工具不知道进入这个网页,需要切换窗口
web.window_handles就是最上方的窗口,-1表示最后一个
# 新窗口 web.find_element(By.XPATH, '//*[@id="jobList"]/div[1]/div[1]/div[1]/div[1]/div[1]/a').click() web.switch_to.window(web.window_handles[-1])#切换到新的窗口 web.close() #关掉子窗口 web.switch_to.window(web.window_handles[0]) #返回原来的窗口 text=web.find_element(By.XPATH, '//*[@id="jobList"]/div[1]/div[1]/div[1]/div[1]/div[1]/a').text() #拿数据



