首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《手把手教你》系列练习篇之3-python+ selenium自动化测试(详细教程)

看个人喜好和适合哪个,例如,如果你掌握好了XPath写法,那么就可以不去管css,毕竟大部分xpath表达式都能够定位到元素。...有些人可能说了,css要比xpath表达式查找元素速度要 快,这个你不要去担心,对计算机来讲,你根本无法区分哪个更快,也不是自动化测试考虑重点。...建议:一定要掌握好XPath或者css来定位元素,其他几种了解就可以。...毕竟在实际项目开发脚本阶段,很多元素是无法通过id ,css, text, name来直接定位这个网页元素,更多还是根据XPath或者css表达式去定位。 3....浏览器前进后退   本小节来介绍上如何,利用webdriver中方法来演示浏览器中地址栏旁边前进和后退功能。其实这个前边也已经说过,这个只不过是作为练习我们再来巩固一下而已。

1.1K30

python爬虫之初恋 selenium

chromedriver浏览器驱动 chromedriver 放置位置也很重要,把chromedriver放在等会要写.py文件旁边是最方便方法。...提交表单 下面我们来尝试控制浏览器输入并搜索关键字找到我们这篇文章; 先打开segmentfault网站,F12查看搜索框元素 <input id="searchBox" name="q" type="...同样还有其他方法比如 find_element_by_<em>xpath</em>() 通过路径选择<em>元素</em> find_element_by_tag_name() 通过标签名获得<em>元素</em> find_element_by_css_selector...' <em>的</em>tr<em>的</em>子<em>元素</em>td 2.find_element_by_<em>xpath</em>("/html/body/div[4]/div/div/div[2]/div[3]/div[1]/div[2]/div/h4/a"...find_element_by_xpath方法使用谷歌浏览器F12选择元素右键copy->copyXpath急速获得准确位置,非常好用,谁用谁知道 3.find_element_by_xpath(

90310
您找到你想要的搜索结果了吗?
是的
没有找到

🔥《手把手教你》系列基础篇之4-python+ selenium自动化测试-xpath使用(详细教程)

Selenium一共有八种元素定位方法,这个在上一篇文章中已经提到过,其中在实际开发自动化脚本过程中,XPath使用是最多、比较好用一种方法,所以本文就着重来介绍如何通过XPath元素定位。...学习了XPath元素定位后,其他7中方法,很容易理解,甚至 已经学会了其中好几种方法。...']") find_element_by_xpath("//input[@type='submit']") 2.3 层级与属性结合: 如果一个元素本身并没有可以唯一标识这个元素属性值,我们可以其上一级元素...[2]/input") 我们可以通过这种方法一级一级向上打,直到找到最外层标签,那么就是一个绝对路径写法了。...如果您觉得阅读本文对您有帮助,请点一下左下角“推荐”按钮,您“推荐”将是我最大写作动力!另外您也可以选择【关注我】,可以很方便找到我

1K50

高阶爬虫实战:破解极验滑动验证码

注意到那个像猪尾巴一样6了吗?还有那个小箭头,跟上面完整图片对比一下,发现把箭头挪动到小6旁边,猪尾巴就成功了。当然你仔细观察的话,还有其他比如文字也是类似。...这里很抱歉告诉大家,猪没了,等我写到这里再去查看网页时候,图片已经刷新了。所以接下来截图可能不一样,在这里提前跟大家说明一下。反正就是特征点嘛,每个图片应该都有的。...先随便一个特征点,查看元素,看它定位到那个div元素那里,然后再看看后面的位置。基本就是这样,所以我们图片既然和位置有关,那么我们最好选一些位置明显地方,比如中间,或者两边。 ?...按照这种的话也应该是12呀,按照这种方式我们继续剩下,通过分析我们发现每个小块+12作为下一个小块起点。这样的话左右各去掉一个像素,宽度不就是10了吗?...这个接口,结果你们知道,不准确,为啥捏?

2.8K71

使用CssSelector直接在浏览器开发工具上快速获取网页内容

一、获取所要元素CSS Selector表达式 当下假设已经会一些CSS Selector知识,如果这步没过,后面就没有意义了,任何网页采集前提是会一点xpath和CSS Selector知识。...现代网页技术中,大量使用CSS来布局页面,相对来说使用CSS选择器可能比xpath来定位网页内容更方便,毕竟前端工程师自己就是用CSS来定位元素并设置格式,我们用它来定位元素并获取内容而已。...此时找到7个结果,我们需要是5个轮播图,有时不准没关系,把图片下载下来,再排除多余部分,可能比精确找到5个元素更方便。 ? 再回到我们需要图片链接元素,其为img节点,上一级是a节点。...2.将集合转成数组 数组一个好处是,可以用后续map方法遍历提取所要内容。 ? 3.再加上map函数,遍历出自己所需元素属性 此时已经将上面的对象数组,变人字符串数组 ? 4....5.复制粘贴到Excel单元格中再简单加工和下载 最后我们也发现,之所以为7个元素,其实是已经有重复出现了,Excel里简单去重下,就是我们所要5个元素。 ?

2K20

《selenium2 python 自动化测试实战》(8)——定位iframe

//*[@id='postarticle']").click() 这是我第一篇讲selenium时发给大家看代码,现在我就就拿这段代码举例子: 1、如何辨别是不是iframe ?...我们用箭头所指工具点击要查看元素后,在FirePath选项卡下,方框所示位置会有"iframe.editor"或者"iframe"提示,这时候我们就可以确定——这是一个iframe。...2、定位iframe 这个我觉得有点麻烦,不知道各位大神怎么定位,我说一下我思路,大家可以参考。...由于一点编辑框就进入iframe,导致我不知道怎么定位这个iframe位置,于是我选择定位这个iframe上面的元素,也就是定位下图方框那里,然后看下面的元素,点开div标签,在里面iframe,方便是鼠标移动到标签上时页面会有显示对应位置...一句话就能跳出来,就像有的人和你说“我已经放下了”就离开你一样,哈哈,你也可以这么潇洒对不爱你的人说。

936100

Python 做自动化测试环境搭建

二、Selenium 定位元素操作 我们在网上看到很多方法,都是使用 Firefox 中插件 firebug 工具对元素进行定位,但是现在 Firefox 已经不再对 firebug 进行维护了...所以,我们会在这里使用是谷歌页面定位,其实也就很简单事。我们通过在页面中按 F12 查看页面就元素,找到我们需要元素,点击右击就可以看到我们需要定位操作了。 ?...实际上是会报错,因为 selenium 在定位时候不清楚我们要是哪个元素。 ? 我们如果一定要用这个方法的话,我们就需要清楚,我们定位标签精准位置了。...2.7 find_element_by_xpath() 最后来说两种最常用定位方法,xpath 元素定位:通过查找元素路径去查找元素。 这两个方法在使用上目前很广泛,也很多人推荐使用方法。...这样我们直接复制 xpath 路径就可以了,这样就可以解决我们会输入错误元素问题(注:在使用 xpath 时候,最外面的双引号改成单引号) ?

1K20

Selenium——控制你浏览器帮你爬虫

如果只是纯粹爬取这种文章还是挺好爬,但是我们翻到文章最下方,我们可以看到如下内容: ? 我们可以看到我们需要点击继续阅读才能显示后续内容。...注意,如果这里用到了特别多Ajax的话,程序可能不知道是否已经完全加载完毕。 WebDriver提供了许多寻找网页元素方法,譬如find_element_by_*方法。...,在这个位置,我们能够看到我们需要点击按键。...Xpath是很强大元素查找方式,使用这种方法几乎可以定位到页面上任意元素。...后面的路径必须按照源码层级依次往下写。按照代码,我们要input元素包含在一个dt标签里面,而dt又包含在dl标签内,所以中间必须写上dl和dt两层,才到input这层。

2.1K20

(二)selenium实际运用

文章目录 前言 selenium实战 打开艺龙网 精确目标 成功 结语 前言 上一篇我们已经知道怎么简单使用selenium了,那么我们就从这篇博客来动手爬取网站吧。...,因为这个网站也是可以用xpath,具体步骤是: F12,小箭头,点击搜索框 点击后,找到元素位置,右键,复制,复制xpath 进入pycharm中,在之前创建py文件中添加如下代码 driver.find_element_by_xpath...看来只能请出我们requests来了,然后我们发现,这个只是一段URL,那怎么办?拼接咯! 通过查看响应,我们知道响应和元素是一样,那么说明什么?...我们可以通过xpath提取到我元素,直接请出我们xpath选手。...' + ur 取到详情页URL后,就要点进去,然后再分析网页,再提取数据,然后存数据,xpath我就先不说了,也不难。

58310

Python爬虫Chrome网页解析工具-XPath Helper

HTML元素XPath,该插件主要能帮助我们在各类网站上查看页面元素来提取查询其代码,同时我们还能对查询出来代码进行编辑,而编辑出结果将立即显示在旁边结果框中,也很方便帮助我们判断我们XPath...,然后进行安装即可 使用插件 1、打开某个网站,我这以本站首页为例,获取腾讯云这篇文章标题,打开审查元素,找到拷贝目标元素XPath 2.png 获取目标元素XPath 2、直接使用快捷键Ctrl...,你就可以在Query框中输入相应XPath进行调试,提取到结果都会被显示在旁边Result文本框中 注意事项 虽然XPath Helper插件使用非常方便,但它也不是万能,有两个问题: 1、XPath...Helper 自动提取 XPath 都是从根路径开始,这几乎必然导致 XPath 过长,不利于维护,我们可以使用//来处理 2、当提取多条列表数据时,XPath Helper是使用下标来分别提取列表中每一条数据...,这样并不适合程序批量处理,我们还是需要修改一些类似于*标记来匹配任何元素节点等 合理使用Xpath,还是能帮我们省下很多时间,更多XPath语法可以看我之前文章Python爬虫之XPath语法和

3.4K30

我是这么学习Selenium元素定位操作

那么,我们要先告诉自动化工具或者说代码要操作那个元素,毕竟代码和工具是无法像人工一样识别页面上元素,那么如何让这些动作精准作用到我们想要作用元素对象上呢?...元素定位 Webdriver通过findElement方法来找到页面的某个元素,使用方法有id、linkText、partialLinkText、name、tagName、xpath、className...属性就是HTML代码中className属性,这点注意,别被人笑话了哦 使用tagName定位 属性也差不多了,我们自然也可以用标签(tag)去定位元素 WebElement element = driver.findElement...xpath定位 一般做自动化的人都很喜欢用一种方式,还接着刚才百度输入框例子,用xpath定位,关于xpath详细定位操作可以参考我之前文章《selenium自动化之xpath定位必会技能》 WebElement...")); 小结 在这些定位方法中,除开xpath和css,其它定位方法都很容易理解和掌握如何使用,具体实际脚本开发过程中使用哪种方法,还是看个人习惯,到此,关于selenium元素定位操作就介绍完了

69120

极验验证码破解之selenium

注意到那个像猪尾巴一样6了吗?还有那个小箭头,跟上面完整图片对比一下,发现把箭头挪动到小6旁边,猪尾巴就成功了。当然你仔细观察的话,还有其他比如文字也是类似。...这里很抱歉告诉大家,猪没了,等我写到这里再去查看网页时候,图片已经刷新了。所以接下来截图可能不一样,在这里提前跟大家说明一下。反正就是特征点嘛,每个图片应该都有的。...先随便一个特征点,查看元素,看它定位到那个div元素那里,然后再看看后面的位置。基本就是这样,所以我们图片既然和位置有关,那么我们最好选一些位置明显地方,比如中间,或者两边。 ?...按照这种的话也应该是12呀,按照这种方式我们继续剩下,通过分析我们发现每个小块+12作为下一个小块起点。这样的话左右各去掉一个像素,宽度不就是10了吗?...这个接口,结果你们知道,不准确,为啥捏?

1.6K50

Python带你薅羊毛:手把手教你揪出最优惠航班信息

XPath 来在页面中进行跳转有的时候还是容易把人搞晕,即使你用了网上那些文章中技巧,比如在“检查元素”中直接右键“复制 XPath”等方式来获取对应网页元素 XPath 信息,也不见得就是最佳办法...译注:这里个人推荐一下我个人之前买过《Python 爬虫开发从入门到实战》(谢乾坤 著),里面比较详细地介绍了 XPath 语法,以及如何构造 XPath 知识,当然 Selenium 模拟登录和处理验证码等黑科技介绍也少不了...上面的代码中,那个字符串就是 XPath 选择器。你可以在网页中任意元素上点击右键,选择 检查,当开发者工具弹出时,你就可以在窗口中看到你选中元素代码了。...而前面这种写法,它先定位一个 ID 是 wtKI-price_aTab 元素,然后第一个子 div然后往下 4 层 div 以及 2 层 span …… 怎么说呢,它这次应该是会成功吧,但一旦网页层次有变化...那么,在拉拉杂杂地说了这么多之后(有的时候我真的容易跑题),我们终于到了实际抓取页面内容函数啦! 我已经把页面上大部分需要处理元素都丢给 page_scrape 函数来处理了。

1.2K20

用python实现自己小说阅读器

所以就文字版来读,文字版又有它缺点,你必须手眼联动才行。如果要忙别的事情,但是又抑制不住想看冲动,就很纠结了。在网上找了一圈,没有其他音频。...现在语音合成已经有了,已经有了阅读前提,下面就是获取小说内容了。...所有章节信息都在dd元素下,而且链接也是很有规律,直接用xpath获取所有章节列表信息。...这里有一点要注意,获取章节内容中有html元素xpath为我们提供了string(.),提取多个子节点文本,非常好用。...最终代码已经上传到我GitHub上,请关注我公众号,发送:xsyd 获取 后期规划 后期可以增加前端页面,通过前端增加爬取小说信息,显示合成进度、播放进度、选择章节播放等功能。

1.7K20

Python 爬虫网页内容提取工具xpath

它有4点特性: XPath 使用路径表达式在 XML 文档中进行导航 XPath 包含一个标准函数库 XPath 是 XSLT 中主要元素 XPath 是一个 W3C 标准 ?...如果你依然在编程世界里迷茫,不知道自己未来规划,可以加入我们Python学习扣qun:784758214,看看前辈们是如何学习!交流经验!...XPath 路径表达式 使用XPath我们可以很容易定位到网页中节点,也就是找到我们关心数据。这些路径跟电脑目录、网址路径很相似,通过/来表示路径深度。...我们知道,一个html标签class是可以有多个属性值,比如: ......XPath 2.0 和 1.0 差异 好了,Xpath在网页内容提取中要用到部分已经讲完了

3.1K10

软件测试|AppCrawler 自动遍历测试实践

')]//*", action: click }backButton: 当所有元素都被点击后默认后退控件定位AppCrawler是不知道后退按钮是哪一个,这个可能会造成一种情况是,当我们进入一个页面时...还有一种情况是同属性控件在两个tag页面都存在,在其中一个tag页遍历一遍之后,再到下一个tag页中就会默认已经遍历,不会再进行遍历,如下这种:在“股票”和“用户”tag页中,“加自选”和“关注”控件...,布局元素一般是没有任何属性,不知道控件里包含什么,这样在截图和生成报告时候就会造成不精准,截图中步骤框就很可能选择错误,对我们定位分析问题造成困扰;所以我们要继续往下标志符,以 Text 作为定位标志符...tagLimit 会限制同属性但不同层级元素吗?答:tagLimit 限制是相同父节点层级,不管属性,是看布局层级。如何防止遍历时候不小心跳到别的应用?跳到别的应用后怎么回来?...==>maxDepth:这个层级是如何定义

90730

利器 | AppCrawler 自动遍历测试实践(三):动手实操与常见问题汇总

')]//*", action: click } backButton: 当所有元素都被点击后默认后退控件定位 AppCrawler是不知道后退按钮是哪一个,这个可能会造成一种情况是,当我们进入一个页面时...,不知道控件里包含什么,这样在截图和生成报告时候就会造成不精准,截图中步骤框就很可能选择错误,对我们定位分析问题造成困扰; 所以我们要继续往下标志符,以 Text 作为定位标志符: selectedList...tagLimit 会限制同属性但不同层级元素吗? 答:tagLimit 限制是相同父节点层级,不管属性,是看布局层级。 如何防止遍历时候不小心跳到别的应用?跳到别的应用后怎么回来?...他们是如何执行?...==>maxDepth:这个层级是如何定义

68510

腾讯面试经验2

面对着他坐下后,首先被要求做个简单自我介绍,名字+大学+专业,然后说明我是深圳过来重庆面试,他很惊讶我来自深圳,同时也很好奇,我原本以为他是知道我9月份在深圳已经面试过,而且对于每个已经面试过同学面试官都会写一份评语...,我也以为他已经看过评语,看他反应大概是什么都不知道,所以我做了一个详细说明之后便接着我自我介绍模版说下去。...(2)我知道我一直没有利用到“有序”这个关键词,所以我抓紧这关键词,首先想到是二分查找:以两个数组A、B合并为例,以A数组为基准,遍历B数组元素,利用二分查找,将B元素在A中找到最适合位置, 若...显然N指针更佳令人满意。那这N指针如何进行比较?...这样做法减少了递归次数,不必使得整个序列有序。但是这个做法还是不能让面试官满意。N个数中,只是一个最小数,我还能想到是堆,但是我对于堆不熟悉,只知道当记录数很多时候用堆最合适。

3.1K10

爬虫网络请求之JS解密二(大众点评)

,这样我们还需要解决问题是: (1)不同种类标签如何对应不同表; (2)如何通过标签class值去对应被替换数据。...这样我们便可以从网页中找到指定文件链接,关于如何根据key值找到对应参照表。...我们打开可以发现就是之前那种格式对应表,我们稍后再看。我们先看到我key值(标签class属性对应值),后面都接着一个坐标,格式统一都是....(标签class值){background: (横坐标)px(纵坐标) px;这样我们就已经获得key值所对应坐标,到这里我们基本可以确定,我们找到key值和所对应坐标就可以根据标签相对应表,利用坐标就可以找到利用标签所替换数据...三、JS解密 接下来,我们就需要知道如何利用获取到坐标来获取正确被替换数据。我们首先根据那张表格依次打开链接,查看它们元素会发现有两种格式,一种格式有元素defs标签,另一种没有。

1.9K00
领券