【问题标题】:Trying to write some code to determine if a box has been checked in html pages尝试编写一些代码来确定是否在 html 页面中选中了一个框
【发布时间】:2011-07-28 21:01:40
【问题描述】:

我正在处理由超过 5000 个不同实体准备的大量文档。我正在尝试做的一件事是确定一个框是否已被选中。编制者需要通过选中五个不同框之一来指明一些信息。

问题在于准备者自己决定如何在 html 中显示复选框。他们的一些陈述很有趣。他们主要依赖wingdings作为字体指令。以下是我目前发现的几种复选框类型

'serif">S</font>'
'wingdings">x</font>'
'&#252;' 
'&#253;'
'&#254;'


<font style="font-family: Wingdings; font-variant: normal">&#254;</font>

我在上面粘贴的这段代码在使用 IE 的变体打开文档时会显示一个复选框,当使用 Firefox、Safari 或 Chrome 打开文档时会呈现其他内容。

这是另一个例子

<div style="DISPLAY: block; MARGIN-LEFT: 0pt; TEXT-INDENT: 0pt; MARGIN-RIGHT: 0pt" align="center"><font style="DISPLAY: inline; FONT-SIZE: 10pt; FONT-FAMILY: times new roman">THE DATA THAT HAS THE CHECKED BOX  <font style="DISPLAY: inline; FONT-FAMILY: wingdings 2, serif">R</font></font></div>

所以我想我的问题最简单的形式是

python 中有什么东西“知道”

<font style="DISPLAY: inline; FONT-FAMILY: wingdings 2, serif">R</font>

这是一个复选框?然后进一步扩展 - 是否有一些东西“知道”这一点,几乎可以在 html 代码中显示复选框的所有方式?

我想指出,当我检查该字体元素的文本时,我得到一个 unicode R

我希望这更清楚。

【问题讨论】:

  • 您的要求对我们没有任何意义。请改写你的问题,用更少的废话来直截了当……确切的问题是什么 - 把它简化为两句话。
  • 如果有人有其他方法我可以考虑这个问题,那将不胜感激。
  • 你真正的问题是什么?把它归结为两句话......
  • 如何查看复选框是否被选中
  • 使用像 BeautifulSoup 这样的解析器并遍历输入元素并检查 CHECKED 属性有什么问题?

标签: python html lxml


【解决方案1】:

在我看来,它看起来像这样。

'S' 的 ascii 值为 83。如果你在机翼上查找 83,你会得到“droplet”。 “液滴”的 Unicode 等价物是 ?。

'x' 的 ascii 值为 120。在机翼上向上看 120,你会得到“清晰”。 Unicode ⌧.

252 是“checkbld”,unicode ✓。

253 是“boxxmarkbld”,unicode ☒

254 是“boxcheckbld”,unicode ☑。

'R' 显示在 font-familywingdings2、ascii 82 和 unicode 等效项下 ☑

注意:这只是猜测哪个是哪个。不要相信我的话。 我认为它会是这样,因为它似乎是有道理的。我的来源是Here (wingdings)Here (wingdings2)

注释解决方案:[√](左括号,amp,磅,8730,分号,右括号)。 √ 被解释为 U+221A,分号是“结束语句”类型的字符。根据fileformat.info,U+221A 是平方根符号,在python u'\u221a' 中。这应该可以解决您的问题。

我给出的所有答案都是纯粹的猜测和猜测,尽管字符代码和等价物是通过链接和 python2.7.1 的 chr() 和 ord() 验证的。

【讨论】:

    猜你喜欢
    • 2022-11-16
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 2018-01-21
    • 2011-03-12
    • 2016-01-06
    • 1970-01-01
    • 2021-11-03
    相关资源
    最近更新 更多