【问题标题】:form, input problems when parsing webpage with selenium使用 selenium 解析网页时的表单、输入问题
【发布时间】:2017-07-22 07:12:36
【问题描述】:

我正在使用 selenium 和 beautifulsoup4 解析网页, 我在解析特定网页时遇到问题。

当我实际查看该页面上的 html 源代码并使用 selenium 或 bs4 进行解析时,我得到了不同的 html 源代码页面。 区别在于表单和输入的存在。

当我解析那个页面时,我得到了 html

<form action="" method="post" name="fmove">
<input name="goAction" style="display:none" type="submit"/>
</form>

我找不到要输入或提交的内容。 请让我理解这个问题。 谢谢!

【问题讨论】:

  • 你在爬哪个网站?
  • 它的披露网站类似于 10-k
  • 如果涉及到任何动态 javascript,那么在源代码中,您将无法看到动态附加的表单元素
  • 当您使用 selenium 渲染一些 JavaScript 时,我猜您需要使用 execute_script() 来让表单完成渲染,请参阅 selenium-python.readthedocs.io/…

标签: python selenium input beautifulsoup


【解决方案1】:

我将专注于“[查找]要输入或提交的内容”,而不涉及更广泛的问题。即便如此,如果与该页面关联的代码没有安排使用namevalue 对填充表单的action 属性和/或其某些input 元素,我告诉您的内容也不能保证产生答案。

首先,在 Chrome 浏览器中打开该页面。使用上下文菜单中的项目来“检查”屏幕上的元素以找到最终提交该表单的 Javascript。在发生这种情况的代码行上放置一个断点。现在重新加载页面 (F5) 并练习表格。代码应该在断点处停止。您应该能够在屏幕的最右侧看到form 元素的属性,包括action 和名称-值对,您可以将它们复制到您自己的代码中使用。

PS:我真的必须提到,如果不知道您正在抓取哪个网站,很难确定其中的很多内容。祝你好运!

【讨论】:

    猜你喜欢
    • 2015-07-07
    • 2020-10-03
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    相关资源
    最近更新 更多