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

练习爬虫,我想问一下这个xpath语句为啥找不到元素,感谢大佬!

一、前言 前几天在Python钻石交流群【萤火】问了一个Python网络爬虫的问题,下图是截图: 下图是报错截图: 二、实现过程 这里【error】给了一个代码,如下所示,满足粉丝的需求: 用selenium...其实他的匹配规则是可以拿到数据的,只不过用jupyter运行selenium的时候容易出问题,也不推荐。 起码用其他的编译器来看,应该都可以实现的! 三、总结 大家好,我是皮皮。...这篇文章主要盘点了一个Python网络爬虫的问题,文中针对该问题给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝【萤火】提问,感谢【此类生物】、【瑜亮老师】、【error】给出的思路和代码解析,感谢【冫马讠成】、【猫药师Kelly】、【dcpeng】等人参与学习交流。

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

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

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

    1.9K10

    App之可点击元素的设计

    仅仅使用文字作为可点击元素存在,而不使用图标作为可点击元素,这样使得这款阅读古诗词的app别有一番风味,其产品的气质体现得很到位。 其实,app的所有构成内容都可以是可点击元素。...把图片作为点击元素,多见于图片类app、阅读类中,比如一生必读的60部名著这类的app: ? 点击的概念比按钮更广泛,文字、图片、图标、按钮、输入框等等,都是可点击的。 那么,点击背后会出现什么?...目前,常见的可点击元素有4种类型: 纯文字 图片 卡片式 语义化的图标 二、纯文字跟图片作为可点击元素,语义表达是最准确的。 如下图,点击图片直接是查看图片的详情,逻辑明确。 ?...4.1语义化的图标 图标需要具有高度可识别性,具有高度识别性的图标我称为“语义化图标”,因为看到这些图标,已经不需要更多的文字来解释它的具体含义了。...最后,总结下: 一、可点击元素包括这些:纯文字、图片、卡片式、语义化的图标。 二、纯文字跟图片作为可点击元素,语义表达是最准确的。 三、卡片式,点击卡片任意位置打开详页,可以使逻辑简单明了。

    2.8K70

    python selenium 鼠标移动到指定元素,并点击对应的元素

    在使用selenium 爬去网页信息的时候,我们经常会遇到这样的一个问题。就是某一关键字或者元素,必须是鼠标悬浮上,才会出现,然后才能点击。那下面,我们就用python实现这一功能。...举例来说: 假设我们我想要点击,“导出音频数据” 按钮。首先需要让,鼠标移动到”项目进度”按钮上面,然后等待’导出音频数据’按钮出现后,才能点击。...,driver就是你的实例化对象,elenment 就是你对元素进行定位,这里我是通过driver.find_element_by_link_text(),当然你可以通过xpath()进行定位。...,并且可以点击element_to_be_clickable()的时候。...我这里设置最大的等待时间为5秒,如果5秒过后,元素不出现,就会报错,当然这里,你还可以加上一个 try except 进行异常捕获。

    5.4K30

    appium 元素定位方法总结(一)

    定位 driver.find_element_by_xpath() 元素定位 find_element_by_xxx符合条件的第一个元素,找不到抛出异常 find_elements_by_xxx符合条件的所有元素的列表...,找不到返回空列表 通过WebDriver查找范围是整个界面的树形结构 通过WebElement查找的是该节点的子节点 通过id定位元素find_element_by_id 元素的resource-id...唯一标识该元素的值(id有时候并不唯一) 使用前最好先判断下id是否唯一 一般优先根据id定位 # resource-id = 'io.manong.developerdaily:id/edt_phone...driver.find_element_by_android_uiautomator("text('热点')") 通过xpath定位元素 xpath定位方法可参考:Selenium学习005-元素选择之...xpath 当以上方法都无法定位到具体元素时,可以采用xpath方法定位元素 通过定位工具发现底部几个栏位是同一个class,只有index和界面图标不同 首先,根据id定位可唯一判断的元素 然后,找到此唯一元素下级目录汇总

    4.8K10

    html 中的可替换(置换)元素

    01 可替换(或置换)元素的概念 在 CSS 中,可替换元素(replaced element)的展现效果不是由 CSS 来控制的。这些元素是一种外部对象,它们外观的渲染,是独立于 CSS 的。...简单来说,它们的内容不受当前文档的样式的影响。CSS 可以影响可替换元素的位置,但不会影响到可替换元素自身的内容。...某些可替换元素,例如 元素,可能具有自己的样式表,但它们不会继承父文档的样式。...CSS 能对可替换元素产生的唯一影响在于,部分属性支持控制元素内容在其框中的位置或定位方式 02 可替换元素 典型的可替换元素有: 、、、 有些元素仅在特定情况下被作为可替换元素处理...控制内容框中的对象位置 某些CSS属性可用于指定 可替换元素中包含的内容对象 在该元素的盒区域内的位置或定位方式。

    3.2K20

    用jQuery实现元素被点击选中的效果

    一、说明页面中存在四个div元素,实现以下效果: 当鼠标放置在div元素上面的时候,元素呈现平滑放大效果;鼠标点击任意一个元素,元素变大,周围出现阴影,表现出被选中的效果二、代码实现提前导入jQuery...script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js">1.HTML代码用jQuery实现元素被点击选中的效果...: all 0.5s;}/*为盒子添加伪类,实现鼠标放到元素上的效果*/.box>div:hover {/* 定义变化的效果,盒子的长和宽均变为原来的1.2倍 */transform: scale(1.2..., 1.2);}/* 元素被选中时的效果 */.selected {box-shadow: 0 0 15px deepskyblue;/* 定义变化的效果,盒子的长和宽均变为原来的1.2倍 */transform...(function () { if (symbol === true) { // 当symbol的值为true时,为点击的元素添加"selected"

    45710

    如何在 React 中获取点击元素的 ID?

    在 React 应用中,我们经常需要根据用户的点击事件来执行相应的操作。在某些情况下,我们需要获取用户点击元素的唯一标识符(ID),以便进行进一步的处理。...本文将详细介绍如何在 React 中获取点击元素的 ID,并提供示例代码帮助你理解和应用这个功能。使用事件处理函数在 React 中,我们可以使用事件处理函数来获取点击元素的信息。...通过事件对象(event object)可以访问到点击元素的相关属性和方法,其中包括元素的 ID。...通过 event.target.id 可以获取到点击元素的 ID。当用户点击按钮时,handleClick 函数会打印出点击元素的 ID,方便我们进行后续操作。...通过事件处理函数,我们可以通过事件对象获取到点击元素的 ID,而使用 ref 则可以直接引用元素并访问其属性。根据你的项目需求和个人喜好,选择适合的方法来获取点击元素的 ID。

    3.5K30

    如何实现动态添加的元素添加点击事件

    在页面开发过程中常常遇到需要动态添加元素,然后给这一元素绑定相关事件的情况,这种情况下一般需要给元素加上相关属性,然后写这些元素的事件函数即可。动态添加的元素怎么绑定事件呢?...原生JavaScript 原生JavaScript主要有2种实现方式,第一种是在动态添加的html代码中添加oclick事件,然后传递一个唯一的参数来判断点击的是哪个,然后做相应的操作。...第二种是通过事件委托的原理进行处理,事件委托将一个 事件监听器实际上绑定到整个容器,然后每个列表项被点击就可以访问,这样效率更高。...JavaScript"> //添加工作经历 function AddJob() { var timestamp = parseInt((new Date()).valueOf()); //唯一的标识...该事件附加到staticAncestors应处理的元素的静态父级 ( )。 每次在此元素或后代元素之一上触发事件时,都会触发此 jQuery 处理程序。

    4K20
    领券