前言

仅仅个人学习总结,回头看希望还能看懂

--走过的路每一步都算数,学习过的任何一个知识点哪怕一个标点符号,学会了就是你的东西!

一、环境安装

1,安装Python,通过pip安装Selenium库
pip install selenium
2,下载对应版本的Microsoft Edge WebDriver,对应下载链接:Microsoft Edge WebDriver | Microsoft Edge Developer确保与Edge浏览器版本匹配。

将WebDriver放入python.exe下(有些前辈指导是放在Edge浏览器目录下)

3,检验安装是否成功,看能不能打开浏览器
import time
from selenium import webdriver#从selenium库中导出webdriver类
driver.get('https://www.baidu.com/')#打开百度
time.sleep(5)#等待时间

一开始比较蠢,没加等待时间,调起浏览器马上就退出了一直以为是环境没配置好,浪费了好久时间。。。。

二、脚本编写

通过编写脚本来模拟浏览器操作,常用的操作有打开网页、对网页元素进行定位、输入内容、点击按钮等。

1,打开浏览器---上面写了
2,元素定位方法:网页点击F12打开开发工具,就可以看到元素,也可以在页面中选择一个元素进行检查

如要检查【百度一下】按钮元素,先点击选择元素,再把鼠标点击/移到【百度一下】按钮位置,就会高亮这个元素

2.1通过id定位元素,如上,id为“su”

driver.find_element(By.ID,"su") #通过id找到元素

2.2通过class_name定位元素,如上class_name为“bg s_btn”

driver.find_element(By.CLASS_NAME,"bg s_btn")

2.3通过name定位元素,如:

driver.find_element(By.NAME, "wd")

2.4通过xpath定位(比较简单),这里要特别说一下,Edge浏览器还要下载Xpath selector才能用xpath定位元素

xpath selector - Microsoft Edge Addons

获取后,可将扩展固定在浏览器的工具

使用的时候先点击扩展,就会出现下图

按着shift键鼠标悬浮在元素上即可

如图,可见xpath及css路径

driver.find_element(By.CSS_SELECTOR,"html>body>div>div>div>div>div>div>ul>li>a>span:nth-of-type(2)")#通过css定位元素
driver.find_element(By.XPATH,"//*[@id='hotsearch-content-wrapper']/li[1]/a[1]/span[2]")#通过Xpath定位元素

xpath还有另外一个方法,通过开发者工具>元素位置点击鼠标右键>复制xpath

2.4通过链接文本定位元素

driver.find_element(By.LINK_TEXT,"百度用户协议")

2.5通过部分链接文本定位元素

driver.find_element(By.PARTIAL_LINK_TEXT,"隐私")

2.6通过css定位(用的比较多,定位元素比较快)

driver.find_element(By.CSS_SELECTOR."#kw") #用css中id定位
driver.find_element(By.CSS_SELECTOR,".s_ipt")  #用css中class定位
driver.find_element(By.CSS_SELECTOR,"input#kw")  #用css中标签+id组合定位
driver.find_element(By.CSS_SELECTOR,"[id='kw']")  #用css中标签元素组合去定位
三、元素操作
1,点击:click

例子:

driver.find_element(By.ID,"TANGRAM__PSP_11__submit").click() #百度登录弹窗点击【登录】按钮
2,输入:send_keys

例子:

driver.find_element(By.NAME, "wd").send_keys('自动化测试') #通过name定位搜索框并输入“自动化测试”
3,清空内容:clear

例子:

driver.find_element(By.NAME, "wd").send_keys('自动化测试') #通过name定位搜索框并输入自动化测试
driver.find_element(By.CLASS_NAME,"s_ipt").clear()  #通过class_name找到搜索框并清空搜索框内容
四、浏览器操作
1,窗口最大化
driver.maximize_window()
2,设置窗口大小
driver.set_window_size(333,884)
3,回到空白页面
driver.back()
4,前进上一次访问的页面
driver.forward()
5,刷新(地址不变输入框内容消失)
driver.refresh()
五、页面交互
driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")#向下滚动到最低
driver.execute_script("window.scrollTo(0,0);")#向上滚动顶部
driver.execute_script("window.scrollTo(0,document.body.scrollHeight/2);")#滚动到页面中间
driver.execute_script("window.scrollBy(0,333);")#滚动到指定像素值,window.scrollBy(x, y)x为水平方向,y为垂直方向

tar=driver.find_element(By.CLASS_NAME,"hotsearch-box-top")
driver.execute_script("arguments[0].scrollIntoView();",tar)#滚动到指定元素处

六、常见问题与解决
Edge浏览器版本更新频繁,需定期检查WebDriver兼容性。若遇到版本不匹配问题,可手动下载对应版本的WebDriver。
元素定位失败时,优先检查页面是否加载完成,或尝试使用XPath、CSS选择器等替代定位方式。

Logo

一站式 AI 云服务平台

更多推荐