selenium自动化个人总结-Edge(1)
python+selenium自动化测试,通过编写脚本来模拟浏览器操作,常用的操作有打开网页、对网页元素进行定位、输入内容、点击按钮等
前言
仅仅个人学习总结,回头看希望还能看懂
--走过的路每一步都算数,学习过的任何一个知识点哪怕一个标点符号,学会了就是你的东西!
一、环境安装
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选择器等替代定位方式。
更多推荐




所有评论(0)