Beautiful Soup 找到具有隐藏风格的元素

2024-02-13

我的简单需求。 如何找到当前网页上不可见的元素?我猜style="visibility:hidden" or style="display:none"是隐藏元素的简单方法,但 BeautifulSoup 不知道它是否隐藏。

例如,HTML 是:

Textbox_Invisible1: <input id="tbi1" type="text" style="visibility:hidden">
Textbox_Invisible2: <input id="tbi2" type="text" class="hidden_elements">
Textbox1: <input id="tb1" type="text">

所以我首先担心的是 BeautifulSoup 无法找出上述文本框是否被隐藏:

# Python 2.7
# Import BeautifulSoup
>>> source = """Textbox_Invisible1: <input id="tbi1" type="text" style="visibility:hidden">
...  Textbox_Invisible2: <input id="tbi2" type="text" class="hidden_elements">
...  Textbox1: <input id="tb1" type="text">"""
>>> soup1 = BeautifulSoup(source)
>>> soup1.find(id='tb1').hidden
False
>>> soup1.find(id='tbi1').hidden
False
>>> soup1.find(id='tbi2').hidden
False
>>> 

我唯一的问题是,有没有办法找出隐藏的元素? (我们还必须考虑复杂的 HTML,其中的元素可能被隐藏)


美丽汤是一个html解析器,不是浏览器。它不知道页面应该如何呈现、计算 DOM 属性等,它只是检查尖括号的开始和结束位置。

如果您需要在运行时使用 DOM,那么最好使用浏览器自动化包,即启动浏览器,让浏览器使用页面,然后公开浏览器控件和计算出的 DOM。根据平台的不同,您有不同的选择。看一下这一页 http://wiki.python.org/moin/WebBrowserProgramming在 Python WIki 上了解想法,请查看 部分围绕 Web“库”和浏览器技术的 Python 包装器.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Beautiful Soup 找到具有隐藏风格的元素 的相关文章

  • 在动态创建的元素的onclick函数的属性中传递一个字符串

    我试图在动态创建的锚元素的 onClick 事件处理函数的参数中传递一个字符串 请参阅小提琴http jsfiddle net shmdhussain bXYe4 http jsfiddle net shmdhussain bXYe4 我无
  • 将一个时间序列插入到 pandas 中的另一个时间序列中

    我有一组定期测量的值 说 import pandas as pd import numpy as np rng pd date range 2013 01 01 periods 12 freq H data pd Series np ran
  • 指定 HTML5 输入类型 = 日期的值输出?

    我想将本机日期选择器添加到我的应用程序中 该应用程序当前使用遗留的本地系统 日期输入支持尚未广泛普及 但如果我可以基于兼容性提供这两种实现 那就太理想了 有没有办法指定 HTML 日期选择器给出的值的输出 歌剧的默认设置是yyyy mm d
  • python中函数变量的作用域

    假设我们有两个函数 def ftpConnect ftp FTP server ftp login ftp cwd path def getFileList ftpConnect files ftp nlst print files 如果我
  • 当x轴不连续时如何删除冗余日期时间 pandas DatetimeIndex

    我想绘制一个 pandas 系列 其索引是无数的 DatatimeIndex 我的代码如下 import matplotlib dates as mdates index pd DatetimeIndex 2000 01 01 00 00
  • 唯一的图像哈希值即使 EXIF 信息更新也不会改变

    我正在寻找一种方法来为 python 和 php 中的图像创建唯一的哈希值 我考虑过对原始文件使用 md5 和 因为它们可以快速生成 但是当我更新 EXIF 信息 有时时区关闭 时 它会更改总和 并且哈希也会更改 有没有其他方法可以为这些文
  • 使用 genfromtxt 导入 numpy 中缺失值的 csv 数据

    我有一个 csv 文件 看起来像这样 实际文件有更多的列和行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 假设文件的名称是info csv如果我尝试使用导入它 data numpy genfromtxt i
  • CSS 过滤器在 Firefox 中不起作用

    我正在尝试 CSS 过滤器 但它在我的 Firefox 15 0 浏览器中不起作用 HTML div class google img src https www google com images srpr logo3w png div
  • 字典中列表中仅有的几个索引的总和

    如果我有这种类型的字典 a dictionary dog white 3 5 black 6 7 Brown 23 1 cat gray 5 6 brown 4 9 bird blue 3 5 green 1 2 yellow 4 9 mo
  • 如何在 HTML 中将文本设置为粗体?

    我正在尝试使用 HTML 将一些文本加粗 但我很难让它发挥作用 这就是我正在尝试的 Some
  • Python 矩阵每一行的总和

    lista 1 2 3 4 5 6 7 8 9 print lista def filas lista res for elemento in lista x sum lista elemento res append x print re
  • 使用 lambda 函数更改属性值

    我可以使用 lambda 函数循环遍历类对象列表并更改属性值 对于所有对象或满足特定条件的对象 吗 class Student object def init self name age self name name self age ag
  • 浮动CSS属性导致父div不继承高度?

    我在 div 中有一个元素设置为float right但是 它会导致最外面的 div 不环绕 这是jsfiddle http jsfiddle net W792X 5 for it 我试图让提交按钮在 div 内浮动 但设置该属性似乎会导致
  • Scrapy 蜘蛛无法工作

    由于到目前为止没有任何效果 我开始了一个新项目 python scrapy ctl py startproject Nu 我完全按照教程操作 创建了文件夹和一个新的蜘蛛 from scrapy contrib spiders import
  • 如何对字符串列表进行排序?

    在 Python 中创建按字母顺序排序的列表的最佳方法是什么 基本回答 mylist b C A mylist sort 这会修改您的原始列表 即就地排序 要获取列表的排序副本而不更改原始列表 请使用sorted http docs pyt
  • 如何计算一行中Flexbox项目的数量?

    网格是使用 CSS flexbox 实现的 Example http jsbin com jumosicasi edit html css js output 本示例中的行数为 4 因为我出于演示目的固定了容器宽度 但是 实际上 它可以根据
  • PyQt 中的线程和信号问题

    我在 PyQt 中的线程之间进行通信时遇到一些问题 我使用信号在两个线程 发送者和监听者 之间进行通信 发送者发送消息 期望被监听者接收 但是 没有收到任何消息 谁能建议可能出了什么问题 我确信这一定很简单 但我已经环顾了几个小时但没有发现
  • 使用“pythonw”(而不是“python”)运行应用程序时找不到模块

    我尝试了这个最小的例子 from flask import Flask app Flask name app route def hello world return Hello World if name main app run deb
  • HTML5 地理定位 - 在 iOS 上无法始终工作

    目前正在使用 HTML5 地理定位 我已经在所有网络浏览器上测试了它 它似乎工作正常 然而 当我在 iPad 上测试地理定位时 它在 iPad mini 上始终有效 但当我将其放在更大的 iPad iPad 2 上时 位置似乎并不总是有效
  • 使用 numpy 加速 for 循环

    下一个 for 循环如何使用 numpy 获得加速 我想这里可以使用一些奇特的索引技巧 但我不知道是哪一个 这里可以使用 einsum 吗 a 0 for i in range len b a numpy mean C d e f b i

随机推荐

  • Django - 如何使用 URL 中定义的外键创建 POST?

    我想知道如何创建具有定义 ID 的对象 POST 假设我有一个实例表User有柱子id name和桌子Object有柱子id id users sth where id users是一个外键id from User桌子 我想要一个这样的网址
  • 如何更改iOS模拟器保存截图的目录?

    从 iOS 模拟器保存屏幕截图时 屏幕截图会保存到桌面 拍了一些之后 我的桌面很快就被不属于那里的屏幕截图污染了 如何更改iOS模拟器截图的保存目录 在一些与屏幕截图存储位置相关的问题中 评论者回应说 默认情况下 它们存储在桌面上 暗示它可
  • Robolectric:运行多个测试失败

    我正在尝试运行多个测试Robolectric 3 0 Gradle using SQLite 开放助手 作为数据库 运行每个单独的测试都可以正常工作 但启动整个测试套件总是会导致第二个测试中出现 RuntimeException 这是我的测
  • Pandas - 根据索引替换值

    如果我创建一个像这样的数据框 import pandas as pd numpy as np df pd DataFrame np random randint 0 100 size 100 2 columns list AB 例如 如何将
  • NHibernate SchemaExport 无法删除表....有时

    我使用 NHibernate 作为我的应用程序的 DAL 特别是 NHibernate 的 SchemaExport 函数在执行单元测试之前删除 重新创建我的数据库模式 我遇到的问题是 当我运行单元测试并执行 SchemaExport 时
  • 具有重复参数的 PostgreSQL 函数

    我偶然发现了一个奇怪的函数签名pg catalog pg stat get activity CREATE OR REPLACE FUNCTION pg stat get activity IN pid integer OUT datid
  • Firestore集合监听器大量读取

    我正在我的一个应用程序中实现 Firestore 数据存储 我有一个监听器 它跟踪 logs 集合中的更新 如下所示 db collection logs addSnapshotListener snapshot error in guar
  • 从单独的 Dialog 类获取 Dialog onclicklistener 到我的 Activity

    我有一个对话框类 我在其中保存了对话框 现在的问题是我想将对话框的 视图 单击侦听器返回到我的活动中 我知道这可以通过编写接口来完成 但是还有其他 OOP 方法吗 我的对话类 public class Dialogs public void
  • 如何在 Python 3 中找到网络的 SSID? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Python 3 有没有办法告诉我机器的网络状态 具体来说 我的机器当前连接的 SSID 互联网连接状态 正常运行时间 停机时间 对于
  • GCM 的问题。由于包名称中的大写字母而导致清单格式错误

    当我尝试在应用程序中添加 GCM 时 当包名称以大写字母开头时 我遇到了问题 问题出在代码中
  • 建立恒定的层次结构

    我无法为我想要的东西想出一个优雅的解决方案 我有一系列的项目 例如酒店 航班 旅游等 这些项目中的每一项都有最小和最大年龄值 我想创建一个常量来保存所有这些 我开始做标准 public static class AgeConstants p
  • PHP 中的方法签名是必须还是应该?

    我的意思是如果它被调用 request这不是 的实例sfWebRequest 这会是致命的 还是只是一个警告 class jobActions extends sfActions public function executeIndex s
  • iOS 使用 Swift 对 ImageView 进行模糊效果

    我正在尝试制作简单的 iOS 应用程序 我需要使图像视图具有模糊效果 我在 Stack Overflow 上找到了这段代码 class BlurImageView UIImageView override func awakeFromNib
  • 是否阻止 ansible 支持条件语句

    我想知道ansible是否支持以下场景 block 有一个条件条件 with when 块内的任务再次有进一步的条件 何时 这是我目前的main yml为了显示 block name task 1 shell check install w
  • 解析服务器和mongodb问题

    我正在尝试为我的 Express 应用程序设置解析服务器的本地安装 这是我所做的 npm install g parse server mongodb runner Then mongodb runner start 这触发了这个错误 St
  • onupdate 不覆盖当前日期时间值

    我正在为 SQLAlchemy 开发一个 Audit mixin 但不确定具体如何做到这一点 我的班级是这样的 class AuditColumns object created dt Column DateTime default dat
  • 查询坚持“Order By”子句中的列与“Group by”子句中的列匹配

    这个有点奇怪 我正在尝试运行以下连接 3 个表的查询 Select t3 id t3 name t3 phone no t1 reg dtm count t1 reg dtm from tableA t1 tableB t2 tableC
  • 如何使用 python 和 BeautifulSoup 从 xml 中删除完整元素

    例如我有一个 XML
  • 将全彩图像转换为三色图像以供电子墨水显示

    我希望能够自动将全彩色图像转换为电子墨水显示屏 Waveshare 7 5 的三色 黑 红 白 现在我只是让屏幕处理它 但随着预期的复杂图像会被冲掉 我可以应用任何算法或过滤器来使事情更加明显吗 现在我正在使用Python 但如果有必要的话
  • Beautiful Soup 找到具有隐藏风格的元素

    我的简单需求 如何找到当前网页上不可见的元素 我猜style visibility hidden or style display none 是隐藏元素的简单方法 但 BeautifulSoup 不知道它是否隐藏 例如 HTML 是 Tex