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

五、XPath实战:快速定位网页元素

分析网站本节我们来爬取豆瓣电影,在实战开始前,我们需要搞懂爬取的流程,在清楚爬取的步骤后,我们方可事半功倍导入需要的库分析获取网站URL获取HTML页面etree解析使用Xpath插件进行测试标签编写Xpath...start={}'.format(i) urls.append(url)获取每页URL中的影评URL接下来我们需要获取每页中影评的具体URL右击鼠标点击检查,我们就会看到具体的URL,为了测试Xpath...语法,我们需要打开Xpath插件(本文结尾我会奉上下载链接)不难分析此URL可以从,总的h2标签下的,a标签中的,href属性下手detail_urls = []for d_url in urls:...,原因如下,前面有一些无用的数据,需要清除获取评论者和评分commenter = html.xpath('//header/a/span/text()')[0]rank = html.xpath('//...提取数据返回结果是列表,后续操作需要使用列表操作总结Xpath的主要流程可以用下图表示Xpath插件链接:https://pan.baidu.com/s/1Pn3dmJgJADIUKcjsDs8cJw?

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

xpath定位随机元素之starts-with的用法

相信有一部分朋友在做UI自动化的时候,会遇到有些元素,明明这次定位到之后,到时重新进入页面,里面的元素值就变样了。...下面我们来看看如何定位随机生成的元素~~ starts-with 如图,这个是我们公司的项目,在处理一个勾选框的时候,里面的id元素是随机生成的,我们可以使用xapth中提供的starts-with方法...//标签名[starts-with(@元素名, '元素值')] //div[1]/div/div[3]//li[starts-with(@id, "cascader-menu")][1] 我们可以看到...找元素内容从“cascader-menu”开始的元素 ends-with xpath中也提供了ends-with的方法,使用方法跟starts-with相同,它是以某字符串结尾的元素。...conatins //div[1]/div/div[3]//li[contains(@id, "cascader-menu")] [1] 使用xpath中的contains方法,也是可以的~大家可以根据需要结合使用

1.5K10

Selenium WebDriver找不到元素的三种情况

今天抽点时间总结下Selenium WebDriver找不到元素的情况。 当然这里说的是css或者XPath都没写错,定位准确,也并非使用了不稳定的定位语句。...在当前页面找不到这个元素了,但是你自己手动复制到页面开发者工具上查看明明有啊,为啥在代码里面就找不到了呢?...解决: 只要刷新页面之后重新获取元素就行,不要提前获取一组元素,然后去循环操作每一个元素,这种情况还是获取元素的个数,然后在循环中获取相应位置的元素,在用的时候才去获取,这样你就获取到最新的id了,也不会出现找错人的尴尬了...我就使用了一个循环,但是最开始没细看,直接循环成了元素,到新页面验证完成之后又返回原来的页面继续定位,发现定位不了了;这时我才想起来不应该循环元素,应该循环元素的个数,在这个循环的过程中再来定位获取元素...情况二:iframe原因定位不到元素需要切换Iframe 【参考此文】 这种情况一般发生在有内嵌的iframe的情况下,需要切换一下iframe 另外注意的是有的页面会有多个iframe,找不到元素同样是没有切换

5K50

web自动化02-常见元素定位(不含xpath和css)

1、熟悉前端基础 代码和元素是一一对应关系,程序需要通过代码中的某些特征,获取目标元素并进行操作 标签名     key = value      元素的属性和属性值 2、浏览器开发者工具 目的:获取目标元素在页面内代码的相关信息的时候使用...XPath(通用) CSS(通用) ① 元素定位方法—id方法   id定位就是通过元素的id属性来定位元素,id必须是唯一的,前提:元素有id属性   当元素存在id属性时,优先使用id方法定位元素....send_keys("内容") ②元素定位方法—name方法   name定位就是根据元素name属性来定位,name的属性值是可以重复的,前提:元素有name属性   由于元素的name属性值可能存在重复...因此,定位元素时需要尽量保证使用的特征值能够代表目标元素在当前页面的唯一性 查看元素属性数量: 1、在代码区域使用快捷键 Ctrl + F 2、输入目标元素属性值           回车查看数量 ③...元素定位方法—class_name方法   class_name定位是根据元素class属性值来定位元素,class定义元素的样式   前提:元素有class属性   注意:如果class有多个属性值,

19230

XPath元素定位常用的5种方法(相对路径)

一、XPath定位 定位 说明 //ul/* ul的所有子元素 //input[2] 第2个input元素 //input[last() 最后一个input元素 input[position()< 3]...=属性值]1、使用标签名+节点属性定位 2、组合元素索引(下标)定位 find_element_by_xpath("//*[@id='J_login_form']/*/*/input[2]") 3...二、XPath定位验证 1、验证XPath定位元素是否正确,可以在Google Chrome的elements或console中进行验证 在需要定位的页面,按F12后,切换至elements列下,按下Ctrl...+f键,输入XPath表达式 在需要定位的页面,按F12后,切换至console列下,输入表达式。...语法是:$x("your_xpath_selector") 2、表达式正确,元素定位正确时,会查找出该元素,如下图: 3、未定位准确,找不到元素,查找结果为空,如图: 4、表达式不正确,无法正常识别情况

5.2K30

XPATH讲解

简介 遇到了好几次'XPATH'这个词,近日在学习ChormeDev(谷歌浏览器开发者工具)又遇到,故特意了解学习。 XPath 是一门在 XML 文档中查找信息的语言。...XPath 用于在 XML 文档中通过元素和属性进行导航。(摘自w3school) 通俗说,是XML语言中通过路径(特俗的路径)寻找标签的方法。...XPath 使用路径表达式在 XML 文档中进行导航。 XPath 包含一个标准函数库。 XPath 是 XSLT 中的主要元素XPath 是一个 W3C 标准。...注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径! body/div 选取属于 body 的子元素的所有 div 元素。...div//input 选择属于 div 元素的后代的所有 input 元素,而不管它们位于 input 之下的什么位置。

68210

【说站】XPath定位方法,chrome浏览器中查看html元素的方法

经常用火车头采集器的站长朋友,可能会遇到需要需要使用Xpath方式获取地址的方法来采集网址。今天品自行说一下如何用Chrome浏览器查看html元素,进行XPath定位,找到XPath路径。...默认选择element面板,Elements 面板中可以通过 DOM 树的形式查看所有页面元素,同时也能对这些页面元素进行所见即所得的编辑。...找到需要定位的元素所在的位置,鼠标放在右侧元素所在位置的代码所在处,代码会高亮显示,右键“Copy”》“Copy XPath”(也可以选择Copy Xpath,前者是相对路径,后者是绝对路径),下面是复制下来的...XPath路径。...另外:貌似目前好多浏览器都有这个功能,比如搜狗浏览器就是在高速模式下打开网页》右键,选择“审查元素”,也可以打开搜狗浏览器的类似开发者工具,然后定位好元素,右键“Copy”》“Copy XPath”也可以搞定这个问题

3.4K10

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券