一,安装与使用
1.需要安装python库-selenium 指令pip install selenium
验证selenium库安装情况:pip show selenium 或 pip list 查看所有库的安装情况。
2.下载浏览器驱动,这里以谷歌浏览器为例,下载地址如下:http://npm.taobao.org/mirrors/chromedriver/ 下载对应版本的,自行查看本地浏览器版本,其他浏览器的驱动资源自行百度
将下载好的驱动,解压后放到python根目录下。
selenium官网:http://www.openqa.org/selenium/
二,运行demo
from selenium import webdriver
driver = webdriver.Chrome(executable_path= ‘f:\chromedriver.exe’) # 加载本地下载好的驱动
driver.get(‘http://www.baidu.com’) # 需要访问的网址:如百度
print(driver.title)
其他功能需要自己完善咯
三,元素定位
一般使用id,class,xpath进行元素定位,个人推荐xpath的方式,简单,复制即可使用,其他的话可以参考下面的链接学习
https://blog.csdn.net/qq_32897143/article/details/80383502
史上最全!Selenium元素定位的30种方式
四,遇到的一些问题总结
使用公司的项目过程中,遇到了几个小问题。
1.跳转新页面或弹框后无法使用元素定位,需要先定位一下新页面
search_window = driver.current_window_handle # 此行代码用来定位当前页面
2.上传文件过程中,需要截图作为预览图,这时候需要暂缓一下,等待几秒
time.sleep(1)
3.文件上传的方式,如果是input,可以直接.send_keys(“文件路径”),实现文件的上传
使用过程中遇到了这个问题:selenium.common.exceptions.InvalidArgumentException: Message: invalid argument:
困扰了我一天,最后发现复制的路径存在问题,文件名中有字符,遇到这个问题我修改了有问题的文件夹名称,得以解决。
4.按钮被隐藏的情况,我这里是仍可以通过元素获取,这里下方提供网上的解决方式
https://blog.csdn.net/teachskyLY/article/details/85029157
selenium 点击 display:none元素解决方法汇总
5.上传文件的三种方式
https://blog.csdn.net/qq_38941812/article/details/86597218
selenium处理文件或图片上传弹窗的三种方式(input框,robot类,autoIT3工具)
6.定位时class存在空格的问题
https://blog.csdn.net/cyjs1988/article/details/75006167
Selenium在定位的class含有空格的复合类的解决办法
五,其他难点收集(源于网络)
1.通过TagName定位到一开始就有标签的页面元素
2.无法获取到图片验证码,无法自动输入短信验证码
3.无法获取到编辑框已经输入的字符串
4.日历选中处理(readonly属性不能写的处理)