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

python学习之selenium的xpath轴的用法,附案例

xpath 轴 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。...的先辈元素以及当前节点(如果此节点为div节点的话) child::*/child::div:选取当前节点的所有div孙节点 xpath 轴 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间...2019/09/07 15:23 #@Author    :wuailexiang #@Email     :3142223672@qq.com #@File      :test.py from selenium...”]/p[3]/button’).click() time.sleep(1) ”’ xpath 轴 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(...”][3]/descendant-or-self::ul/li[1]’).click() #following:选择文本中当前节点结束标签后的所有节点 browser.find_element_by_xpath

1.1K31

Python网络爬虫(四)- XPath1.XPath2.XPath在python中的应用

1.XPath XPath 即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。...它使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。...XPath语法 2.XPath在python中的应用 xpath在Python中有一个第三方库,支持~ lxml 注意:不要直接使用pip install lxml去安装~直接安装很容易安装一个空壳...())可以获取到pip支持的文件名还有版本 xpath的安装 通过wheel方式安装 下载对应的wheel文件【和Python版本对应的】 安装wheel插件 :python2 -m...Python-第三方库requests详解 CSS 选择器参考手册 3.XPath中的text()和string()区别 1.XPath中的text()和string()本质区别 text()是一个

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

    20行代码,用Python实现异常测试用例

    有些用例中的断言肯定是不止一条的,可能涉及的元素定位有1个以上。每一个测试用例都有元素的断言,也就意味着每条用例中都可能有元素定位方式。...如果某一个元素的定位方式发生变化,你能保证200个定位中没有重复的这种元素定位吗? 能保证某一个元素发生了变化,测试用例不需要同步修改吗? 所以这种做法是不可取的,后期维护的时候工作量非常的大。...做项目,写框架要看整体项目层面的,不能现在写的爽,以后苦。 从登陆页跳转过来,没有那么快出现,所以加上10秒时间缓冲。 步骤是一样的,断言的方式都是一样的,只是参数不一样而已,那你就可以用ddt。...三、问题整理 1.像这样的测试用例,运行一次是不够的,在实际工作过程中调试这样的用例,连续运行3-5次不会出错,都是在我的预期当中,那就ok,暂时可以放下去写别的测试用例了。...所以元素之前该写等待的地方还是要等。主要提高自己代码的稳定性。 测试用例=测试对象调用+测试数据 2.同一套代码在Mac和Windows上运行有差异吗?

    55810

    爬取《Five Hundred Miles》在网易云音乐的所有评论

    题图:by cfunk44 from Instagram 在使用 Ajax 技术加载数据的网站中, JavaScript 发起的 HTTP 请求通常需要带上参数,而且参数的值都是经过加密的。...本文内容是利用 Selenium 爬取网易云音乐中的歌曲 《Five Hundred Miles》 的所有评论,然后存储到 Mongo 数据库。...接下来就是安装 selenium, 使用 pip 安装是最方便的。 pip install selenium Chrome 浏览器 在爬取数据过程中, 需要启动浏览器来显示页面。...下载地址:http://chromedriver.chromium.org/downloads webdriver 下载解压完成之后,将其放到 Python 目录下的 Script 文件夹中。...3)爬取第一页面的评论的数据,然后存储到数据库中。 4)利用 Selenium 模拟点击下一页按钮,再继续爬取该页面的评论数据,并存储到数据库中。 5)一直循环点击,直到所有分页的数据都被爬取完成。

    78620

    利用selenium尝试爬取豆瓣图书

    经过分析,这个网站展示的数据,不能通过之前的方式获取,猜想是通过加密解密得到的内容。...这个时候有两种方式 a:找到加密解密的接口,使用python模拟(相当复杂,必须有解析js的能力) b:使用selenium+driver直接获取解析后的页面数据内容(这种相对简单) 当然了,我们只是分析了接口这一部分...,其实我们通过查看网页源码,使用xpath进行尝试解析,发现其实是可行的,但是由于本文使用的是自动化工具selenium,所以就不过多解释xpath。...二、selenium+driver初步尝试控制浏览器 说到模拟,那我们就先来模拟如何打开豆瓣图书并打开Python相关的图书 from selenium import webdriver import.../div/div[3]/text()") print(item) 我们可以看到标红处,有的数据是获取不到的,这难道是我们代码有问题吗?其实我们的代码并没有问题。

    1.4K30

    Selenium2+python自动化39-关于面试的题

    定位是可以定位到的,但是不能操作,可以判断元素is_displayed() (我一直不里面这个定位到底是几个意思,只要页面上有的元素,我觉得都能定位到, 实在不行,小编可以爬源码Selenium2+python...自动化37-爬页面源码(page_source),能不能操作那是另外一回事) 三、selenium中如何保证操作元素的成功率?...1.select类里面提供的方法:select_by_value(“xxx”) 参考这篇:Selenium2+python自动化15-select下拉框 2.xpath的语法也可以定位到 十九、如何在定位元素后高亮元素...1.js方法,直接让该元素置顶 参考这篇:Selenium2+python自动化17-JS处理滚动条 2.要是点击后没高亮,就用js去修改属性吧(万能的js) 参考这篇:Selenium2+python...1.数据层 2.接口层 3.UI层 自由发挥吧 二十七、webdriver可以用来做接口测试吗?

    2.3K60

    腾讯云上Selenium用法示例

    换句话说叫 Selenium 支持这些浏览器驱动。话说回来,PhantomJS不也是一个浏览器吗,那么 Selenium 支持不?答案是肯定的,这样二者便可以实现无缝对接了。 然后又有什么好消息呢?...Selenium支持多种语言开发,比如 Java,C,Ruby等等,有 Python 吗?那是必须的!哦这可真是天大的好消息啊。 嗯,所以呢?...安装一下 Python 的 Selenium 库,再安装好 PhantomJS,不就可以实现Python+Selenium+PhantomJS 的无缝对接了嘛!...PhantomJS 用来渲染解析JS,Selenium 用来驱动以及与 Python 的对接,Python 进行后期的处理,完美的三剑客!...元素选择 页面等待 这是非常重要的一部分,现在的网页越来越多采用了 Ajax 技术,这样程序便不能确定何时某个元素完全加载出来了。

    3.7K00

    爬虫入门经典(十四) | 使用selenium尝试爬取豆瓣图书

    经过分析,这个网站展示的数据,不能通过之前的方式获取,猜想是通过加密解密得到的内容。...这个时候有两种方式 a:找到加密解密的接口,使用python模拟(相当复杂,必须有解析js的能力) b:使用selenium+driver直接获取解析后的页面数据内容(这种相对简单) ?...当然了,我们只是分析了接口这一部分,其实我们通过查看网页源码,使用xpath进行尝试解析,发现其实是可行的,但是由于本篇博文使用的是自动化工具selenium,所以就不过多解释xpath。...说到模拟,那我们就先来模拟如何打开豆瓣图书并打开Python相关的图书 from selenium import webdriver import time import requests start_url...我们可以看到标红处,有的数据是获取不到的,这难道是我们代码有问题吗?其实我们的代码并没有问题。我们看下网页 ? ?

    68020

    3种方式优化Python自动化代码

    大家可以考虑下能不能实现,实现是最好的,实现不了就按照最开始讲的setUp()和tearDown(),多写点冗余的,时间多浪费点没关系。毕竟自动化代码是晚上运行的,稳定性为首要条件。...未来实际工作中不可能只有登录功能,还有其它的功能。那这个页面是比较复杂的,元素定位在几十个是很正常的。 几十个元素定位,你确认都是分布在不同的函数当中吗? 想把它分离开来就是希望能够针对性地去修改。...参考By的源码,这个类中只定义了数据,没有方法: ? 在PageLocators中,跟页面一一对应。 loc.后面接的都是元素定位表达式,看名字筛选就好了。...2.注意 在不清楚页面封装的情况下,最好的方式是:把测试用例用注释的方式写出来(不需要写代码),然后再一步一步补上代码。 3.Python框架和Python自动化框架有什么区别? 都是框架,方向不同。...Python框架包含unittest Python自动化框架目的非常明确是做项目级别的自动化测试的。 4.做自动化要执行那么多异常用例吗? 先执行正常的用例,如果是非常简单的异常用例就写。

    91910

    为什么不推荐Selenium写爬虫

    当然你也可以使用requests + xpath 或者 Selenium 。下面就我自己的看法来说说这三种采集方式。...scrapy中scheduler是运行在队列中的,而队列是在单机内存中的,服务器上爬虫是无法利用内存的队列做任何处理。...与仅仅请求您真正需要的资源(使用单独的HTTP请求)相比,这可能会产生更多的流量。 爬取规模不能太大。你有看到哪家公司用Selenium作为生产环境吗? 难。...学习Selenium的成本太高,只有我一个人觉得Selenium比Requests难一百倍吗? 我能想到的就这么多了,欢迎各位大佬补充。...A.浏览器模拟 B.HTTP请求 如果你想做测试工程师,那肯定需要学会 Selenium,公司一个妹子就是测试,现在学了 Selenium,工作轻松了好多。

    2.2K60

    Python中的GUI测试:Selenium与PyQt的应用

    Python中的GUI测试:Selenium与PyQt的应用在现代软件开发中,图形用户界面(GUI)测试是至关重要的一环。...Python作为一种多功能的编程语言,提供了许多工具和库来简化GUI测试的过程。本文将介绍两种Python中常用的GUI测试工具:Selenium和PyQt,并演示它们在实际应用中的用法。...()上述代码使用Selenium打开百度搜索,输入关键字“Python Selenium”,然后验证搜索结果页面的标题是否包含关键字。...然后,我们在run_selenium_test方法中获取了Web视图的URL,并使用Selenium在浏览器中打开该网页进行测试。...总结本文介绍了在Python中进行GUI测试的两种常用工具:Selenium和PyQt,并展示了它们在实际应用中的用法。

    29210

    VS Code + Python + Selenium 自动化测试基础-01

    今晚又是一个人睡沙发,这天晚上,你躺在沙发上,夜不能寐 因为,你今天被质疑不会写写自动化,怒砸了秦始皇的耳机!...开发前的准备工作 1.安装 VS Code 2.安装 VS Code Python 扩展 3.安装Python3(版本3.8.2)下载 安装完成后,可以通过以下指令确认是否安装完成 # python -...安装 Selenium 的 Python 套件 # pip install selenium # pip show selenium 5.下载Chrome的ChromeDriver 下载后,解压缩将chromedriver.exe...开常用的web DriverAPI-定位元素 WebDriver提供了几种元素的定位方式,在Python中对应的方式如下 id定位:find_element_by_id() HTML规定,在HTML文件中...跟Selenium基础的应用来说明并且分享心得,下一篇会再继续介绍更进阶的WebDriver应用,并且会分享如何在日常工作中中将自动化测试导入,自动化测试也是我们测试的基本功之一。

    49410

    使用Selenium WebDriver,Python和Chrome编写您的第一个Web测试

    这是我们的测试过程: 导航到DuckDuckGo主页 输入搜索词组 验证: 结果显示在结果页面上 搜索词出现在搜索栏中 至少一个搜索结果包含搜索短语 这是相当基本的,但涵盖了端到端的典型搜索行为。...让我们看看这些调用是如何工作的。 URL = 'https://www.duckduckgo.com' 该测试将DuckDuckGo主页的URL声明为变量,以提高可读性和可维护性。...我们可以使用XPath来精确定位包含文本中搜索短语的结果链接。XPath比名称和CSS选择器复杂,但它们也更强大。...上面的行与Arrange阶段中的find元素调用相同 。它将再次找到搜索输入元素。我们为什么不能search_input再次使用该对象?不幸的是,先前的元素已经 过时了。...ChromeDriver版本与Chrome版本匹配吗? 是否有文件系统权限问题? 防火墙是否阻止了任何端口? 测试代码正确吗?

    2.4K10
    领券