| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> selenium学习 -> 正文阅读 |
|
[开发测试]selenium学习 |
起手式1.pycharm在File->settings->Project interpreter->里面下载好selenium模块,试试import一下这个包,如果成功则说明下载成功。(一般都没问题 2.还需要下载一下对应你的chrome浏览器版本的驱动,可以查看一下note.txt确定适用的版本,网址如下。 http://chromedriver.storage.googleapis.com/index.html 下载完后随意解压在一个地方(路径最好不要有中文),在代码中说明驱动路径就可以了,不一定要在环境变量里添加(我自己添加的时候出了问题。。wtcl) 完成这些以后,可以尝试一下试试模拟一下baidu搜索python,如果成功则说明一切准备就绪,脚本如下(暂时不需要知道整个代码是甚么)
元素定位(八种)爬虫肯定离不开对页面元素的定位,包括输入、发送请求、抓取文本等等,参考链接:https://blog.csdn.net/qq_30990097/article/details/81386750 1.通过id或name定位
这里是一个网页前端代码,可以通过name或者id属性进行定位,id属性肯定是唯一的,name的话也是get的一个参数,可能会有其他地方也使用这个
2.通过class name或tag name定位
通过元素中带的class属性定位
通过元素中的tag标签定位,这种定位方式极不靠谱,不推荐采取此种方式。
附加说明,如果class属性含有空格,那么取其中一个不重复的字段就可以了,例子:
其中class的属性值为“icon-only icon-add”,取其中“icon-only”、“ icon-add”都可以,但最好是取其中唯一的。
3.通过link text和partial link text定位
通过text link定位元素
通过partial link text定位元素,当文字链接很长时,可以通过此方式取其中一部分,只要取的部分可以作为唯一标识。
4.xpath定位此种定位方式需知晓xpath路径,通过火狐浏览器就可以知道,具体如何操作,可以通过火狐或者chrome的插件安装一个xpath finder,来查看元素的xpath 有时候你还可以f12,把dom树单独分屏,然后点击左上那个鼠标样子的东西,可以自行定位,就有时候它就给你个id,但是这个id是不固定的,那你只能通过它的上下层来判断。 调用的方法为: brower.find_element_by_xpath("/html/body/div[1]/div/div[2]/ul/li[2]") 也可以通过相对路径自行填写,例如:
当然也可以通过某一级的name属性定位。 还有一个老师傅的博客可以参考参考,算是速成 5.CSS定位这个。。说实话我感觉用处不大,暂时略,如果后面觉得它很好用我就重新补充。 我错了,我是sb。 css定位还是很牛的,这得好好记录一下
这里为什么我觉得css强呢。。是因为它不仅匹配了input这个 它还能根据里面的属性判断是哪个input,我感觉这个属性是人为定义的,所以只要找到它独一无二的属性就可以很轻松的定位了。 各种模拟操作1.点击操作根据元素定位获得元素后,可以对元素进行点击(各种)。
2.赋值比如在框框(input)里填入内容
填入内容之后并没有发送请求,还需要对对应的元素进行点击
3.等待①显示等待指定在某个时间内,如果某个条件满足了,那么就不会再等待,如果在指定的时间内条件都不满足,那么就不会再等待了。 要使用显示等待还需要载入一些selenium的包
其实完全使用import selenium是可以的,但是载入这么多包,运行起来就会比较慢,如果整个操作只需要几个模块,就无需载入完整的selenium。 下面是显示等待的用法:
只要这个元素出现就停止等待,不然最多等待30秒,期间每0.5秒检查一下这个元素是否出现 这里的By.XPATH是指通过xpath来寻找元素并等待,同理还有classname什么的,pycharm会给补全 ②隐式等待这个等待比较弱,它只是让驱动在等待过程中,查看有没有元素,只要有元素它就不再等待 具体使用方法:
其实这个比较鸡肋,一开始我以为这东西很好用,其实不然,还是要等确切的元素出现再点击,才不容易出错 4.切换窗口有时候点击完了浏览器就会弹出一个新的窗口,这个时候需要你进行切换,因为你目前的操作句柄还在之前的页面,需要切换到最新的页面上去。
如果要切换其他的窗口,也可以先打印所有句柄,然后
查看当前源代码 5.查看元素是否存在因为我是个小萌新,代码水平有限,有时候要检查某个元素是否存在,进行测试,好像selenium没有这个函数,所以得自己写一个,具体如下:
这里的xpath是根据你使用的查找方法设定的,可以自行修改。 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 0:37:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |