selenium爬虫遇见 display:none元素解决方法

这篇具有很好参考价值的文章主要介绍了selenium爬虫遇见 display:none元素解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在爬虫过程中,html页面为了页面简洁美观,某些元素设置了不可见,需要鼠标点击或者悬浮才能展示,导致在爬虫过程中通过XPATH或CSS选择器定位元素时,报错无法找到。
下图是爬取牛客网一些招聘信息时的截屏
selenium爬虫遇见 display:none元素解决方法

解决办法:

定义了一个js变量,然后通过getElementById()或getElementsByClassName()方法去引用display元素,修改none属性为block属性(作为块级元素显示),然后通过selenium自带的execute_script方法执行脚本。

最后,当元素属性置为可见时,即可以定位元素获取。

js = "document.getElementsByClassName('detail')[%d].style.display='block'" % x
# 执行js代码
driver.execute_script(js)
time.sleep(2)

class类不能简单直接拿来判断,因为具有多个class,所以要加上数组才能判断。
selenium爬虫遇见 display:none元素解决方法文章来源地址https://www.toymoban.com/news/detail-512419.html

到了这里,关于selenium爬虫遇见 display:none元素解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium 遇见伪元素该如何处理?

    在很多前端页面中,大家会见到很多::before、::after 元素,比如【百度流量研究院】: 比如【百度疫情大数据平台】: 以【百度疫情大数据平台】为例,“累计确诊”文本并没有显示在 HTML 源代码中,如果通过常规的 xpath 元素定位方式是没办法的,因为“累计确诊”文本并

    2024年01月23日
    浏览(39)
  • selenium元素定位---ElementClickInterceptedException(元素点击交互异常)解决方法

    目录 前言: 1、异常原因 2、解决方法: 当使用Selenium进行元素定位和交互时,可能会遇到 ElementClickInterceptedException (元素点击交互异常)的异常。这通常是由于页面上存在其他元素或弹出窗口遮挡了要点击的元素。 在编写ui自动化时,执行报错元素无法点击:ElementClickInt

    2024年02月12日
    浏览(46)
  • selenium元素定位防踩坑---StaleElementReferenceException解决方法

    目录 1、异常原因 2. 解决方案 🎁更多干货 完整版文档下载方式: 执行调试报错:selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document 意思是,引用的元素已过时。原因是页面刷新了,此时当然找不到之前页面的元素,就算

    2024年02月01日
    浏览(46)
  • display: none与visibility: hidden的区别

    引言: 在前端面试中,一般比较侧重JavaScript方面的考察,CSS布局方面考察的内容会相对少一些,其中display: none与visibility: hidden的区别是较常见的考点,这两个css配置都可以从视觉上隐藏DOM元素,那这两者的使用上有什么区别呢? 首先我们来看W3C中对display: none的描述: \\\'no

    2024年02月08日
    浏览(35)
  • Python爬虫——selenium_元素定位

    元素定位:自动化要做的就是模拟鼠标和键盘来操作这些元素,点击,输入等等。操作这些元素前首先要找到它们,WebDriver提供很多定位元素的方法 根据id来找到对象【常用】 根据标签属性的属性值来获取对象 根据xpath语句来获取对象【常用】 find_elements_by_xpath可以返回多个

    2024年02月13日
    浏览(46)
  • 【爬虫】5.3 Selenium 查找HTML元素

    任务目标 在获取了网页的HTML代码后我们可以使用很多方法查找元素并爬取其中的数据 Selenium支持XPath、CSS等多种查找元素的方法,掌握这些方法可以灵活地爬取到所要的数据 这个项目我们学习怎么样使用Selenium的XPath、CSS 等方法查找元素数据。 Selenium 提取HTML元素函数/方法

    2024年02月10日
    浏览(37)
  • 【爬虫】5.6 Selenium等待HTML元素

    目录 任务目标 创建Ajax网站 创建服务器程序 Selenium XX 等待 1. Selenium强制等待 2. Selenium隐性等待 3. Selenium循环等待 4. Selenium显示等待 等待方法 在浏览器加载网页的过程中,网页的有些元素时常会有延迟的现象,在HTML元素还没有准备好的情况下去操作这个HTML元素必然会出现错

    2024年02月10日
    浏览(39)
  • Python爬虫——selenium_访问元素信息

    获取元素属性 获取标签名 获取元素文本

    2024年02月13日
    浏览(35)
  • 【selenium】自动化测试中,元素无法点击定位等问题的解决:js的使用方法

    在自动化测试中经常会遇到使用selenium方法定位元素点击操作失败的情况,例如,我们想实现在浏览器输入http://www.baidu.com,进入百度首页后,鼠标悬停在“更多产品”上,点击“全部产品” 若不使用js的话,代码应该如下图所示: 我们执行代码后,发现会报错 我们该如何解

    2024年02月08日
    浏览(49)
  • 解决Python爬虫中selenium模块中的find_element_by_id方法无法使用

    如有错误,敬请谅解! 此文章仅为本人学习笔记,仅供参考,如有冒犯,请联系作者删除!!         我们在学习selenium模块的时候,经常会用到 browser.find_element_by_id命令,但随着selenuim版本更新,我们会发现运行时会报错,非常苦恼。         示例:         错误如下:

    2024年02月05日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包