如何通过网页抓取访问动态 HTML 元素?

如何通过网页抓取访问动态 html 元素?

php小编小新在这里为大家介绍一种方法,可以通过网页抓取访问动态HTML元素。当我们在进行网页抓取时,有时会遇到一些动态生成的内容,这些内容在网页加载完成之前无法直接获取。幸运的是,我们可以利用一些工具和技术来解决这个问题。本文将介绍一种基于PHP的方法,使用它可以轻松地抓取访问动态HTML元素。让我们一起来看看吧!

问题内容

我正在使用 go-rod 进行网页抓取。我想访问动态 内的链接。为了使这个 a 可见,我必须完成一个搜索器,它是一个 input ,具有下一个格式(没有 submit):


登录后复制

所以,当我完成后,出现我要访问的a:

到这里,一切都还好。这是我用来完成搜索器的代码:

//page's urlpage := rod.new().mustconnect().mustpage("https://www.sofascore.com/")//acept cookies alertpage.mustelement("cookiesalertselector...").mustclick()//completes the searcherel := page.mustelement(`searcherselector...`)el.mustinput("lionel messi")

登录后复制

现在问题出现了,当我想点击完成搜索后显示的a时。

我尝试过这个:

立即学习“前端免费学习笔记(深入)”;

diviwant := page.mustelement("aselector...")diviwant.mustclick()

登录后复制

还有这个:

diviwant := page.mustelement("aselector...").mustwaitvisible()diviwant.mustclick()

登录后复制

但是,它们都返回给我相同的错误:

panic: {-32000 node is detached from document }goroutine 1 [running]:github.com/go-rod/rod/lib/utils.glob..func2({0x100742dc0?,0x140002bad50?})/users/lucastomicbenitez/go/pkg/mod/github.com/go-rod/[email protected]/lib/utils/utils.go:65+0x24 github.com/go-rod/rod.gene.func1({0x14000281ca0?, 0x1003a98b7?, 0x4?})/users/lucastomicbenitez/go/pkg/mod/github.com/go-rod/[email protected]/must.go:36+0x64 github.com/go-rod/rod.(*element).mustclick(0x14000289320)   /users/lucastomicbenitez/go/pkg/mod/github.com/go-rod/[email protected]/must.go:729+0x9c main.main()     /users/lucastomicbenitez/development/golang/evolutionaryalgorithm/main/main.go:22+0x9c exit status 2

登录后复制

所以,在寻找一些解决方案时,我发现了这个 github 问题并尝试通过此方法获取链接:

link := page.musteval(`()=> document.queryselector('aselector...').href`)

登录后复制

但它返回这个:

panic: eval js error: TypeError: Cannot read properties of null(reading 'href')

登录后复制

但是,我很确定选择器是正确的。我做错了什么?

解决方法

正如@hymns for disco在评论中所说,我只需要在搜索器完成后等待一段时间即可。

el.MustInput("Lionel Messi")time.Sleep(time.Second)link := page.MustEval(`()=> document.querySelector('aSelector...').href`)

登录后复制

以上就是如何通过网页抓取访问动态 HTML 元素?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2484684.html

(0)
上一篇 2025年3月4日 21:36:55
下一篇 2025年2月22日 12:58:41

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何让火狐浏览器旋转

    无法直接让火狐浏览器旋转,但可以:使用 CSS 旋转网页中的特定元素;通过操作系统设置旋转整个屏幕。 如何让火狐浏览器旋转? 不行。 就这么简单。 火狐浏览器本身并没有内置旋转屏幕的功能。 你无法通过浏览器设置或任何扩展程序直接让整个浏览器…

    2025年3月2日
    200
  • opera浏览器怎么查看html教程

    要查看 Opera 浏览器的 HTML,请打开开发者工具(F12 或右键点击“检查”),然后在“元素”面板中查看 HTML 结构。除了查看之外,还需要深入理解代码逻辑,分析页面结构和样式,配合其他面板(如“网络”和“控制台”)理解 Java…

    2025年3月2日
    200
  • 根据我在数据库中拥有的元素数量,在模板中创建“x”数量的html元素

    根据php小编苹果的建议,我们可以根据数据库中元素的数量,利用模板创建相应数量的HTML元素。这种方法可以有效地减少手动编写HTML代码的工作量,提高开发效率。通过动态生成HTML元素,我们可以轻松地实现根据数据动态显示内容的需求,为用户提…

    2025年3月1日
    200
  • Colly – 如何获取子属性的值?

    php小编西瓜为您介绍Colly这个强大的网络爬虫框架。Colly是一个使用Go语言编写的简单而灵活的爬虫框架,它提供了丰富的功能,包括获取HTML元素、提取数据以及处理请求和响应等。在使用Colly时,有时我们需要获取HTML元素的子属性…

    2025年3月1日
    200
  • 探索button标签的用法及其应用场景(深入理解HTML中的button元素)

    在网页设计中,交互元素至关重要,而按钮标签(button)便是实现交互的基石之一。php小编子墨将带您深入了解按钮标签的用途和应用,从触发 javascript 函数到页面跳转再到表单提交,揭秘其多样的用法以及提升网页交互性的作用。通过本文…

    2025年2月26日
    200
  • Python网络安全技能树:成为网络卫士的必备技能

    引言在网络安全领域,python凭借其强大的数据处理和自动化功能脱颖而出。它已成为网络安全专业人员的首选语言,提供了全面的技能组合来应对不断增长的网络威胁。本文将探讨Python网络安全技能树,概述成为一名合格网络卫士所需的必备技能。 Py…

    2025年2月26日
    200
  • python爬虫100例教程

    Python爬虫是一种自动化数据提取工具,广泛应用于各个领域。本教程由100个示例组成,涵盖了爬虫的基础、解析、数据提取、高级技巧和实战项目,适合初学者和中级开发者学习。例如,示例25展示了如何使用BeautifulSoup库解析HTML页…

    2025年2月25日
    200
  • python爬虫怎么解析html

    HTML解析是Python爬虫获取网页结构和数据的重要步骤。通常使用BeautifulSoup库解析HTML,步骤如下:安装BeautifulSoup库。使用BeautifulSoup解析HTML。访问HTML元素,包括find()/fin…

    2025年2月25日
    200
  • php网站如何做特效

    使用以下分步指南在 PHP 网站中添加特效,提升用户体验,使其更引人注目:使用 HTML 和 CSS 创建基础结构和样式。使用 JavaScript 创建动画和交互性。使用 PHP 生成动态和交互式的特效。利用库和框架简化开发过程。记住要优…

    2025年2月21日
    200
  • 使用 onclick 执行 PHP 函数

    在网页开发中,使用javascript的onclick事件来执行php函数是一种常见的技术。通过点击html元素触发javascript函数,再由javascript调用后端的php函数实现动态交互。这种方法可以实现网页内容的动态更新和数据…

    编程技术 2025年2月19日
    200

发表回复

登录后才能评论