尝试编写一些代码来确定是否在html页面中检查了一个框

时间:2011-04-04 01:45:44

标签: python html lxml

我正在处理由超过5K个不同实体准备的大量文档。我要做的其中一件事是确定是否已经检查了一个盒子。编制者需要通过检查五个不同的框之一来指示一些信息。

问题是编制者自己决定如何在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

我希望这更清楚。

1 个答案:

答案 0 :(得分:0)

我看到它的方式,看起来像这样。

'S'的ascii值是83.如果你在翼型上查找83,你会得到“液滴”。与“droplet”相当的Unicode是。

'x'的ascii值是120.在翼型上看120,你会“清楚”。 Unicode⌧。

252正在加载“checkbld”,unicode✓。

253是wingding“boxxmarkbld”,unicode☒

254是“boxcheckbld”,unicode☑。

'R'显示在font-family wingdings2,ascii 82和unicode equivalent☑

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

评论解决方案:[√](左括号,放大器,磅,8730,分号,右括号)。 √被解释为U + 221A,分号是“结束语句”类型字符。根据{{​​3}},U + 221A是平方根符号,并且在python u'\ u221a'中。这应该可以解决你的问题。

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