Python - Webscape隐藏的字符显示在len如何删除这些?

问题描述 投票:0回答:2

我用过:

driver.find_elements_by_xpath('(.//span[@class = "x"])')[0].text

它所提供的信息是正确的,但它增加了HTML中显示的空格,就像来自网站im scaping的"&#8237"一样。

我如何删除这些因此我可以将str转换为int,因为这会阻止我。

我试过没有运气的.strip.replace

继承人原始HTML

<span class="coordinateX">(&#8237;‭−&#8237;‭52&#8236;&#8237;‬‬</span>

当我打印这个字符串时,我得到(-52但是当我len()它由于这些隐藏的字符而得到8而不是4。

谢谢马克。

python string selenium web-scraping int
2个回答
1
投票

也许尝试正则表达式?

import re

string = 'Here is some string to&#8237test'

string = re.sub(r'(&#\d\d\d\d)',' ', string)

print(string)

>>> 'Here is some string to test'

re.sub说,如果你发现这个正则表达式r'(&#\ d \ d \ d \ d)',用''替换它,并在'string'变量中进行搜索。

资源

https://pythex.org/ - 用于创建和测试模式

学习资料

https://developers.google.com/edu/python/regular-expressions https://www.tutorialspoint.com/python/python_reg_expressions.htm


0
投票

相关的HTML将帮助我们以更好的方式调试问题。但是,您可以使用get_attribute()方法而不是text属性,如下所示:

myText = driver.find_elements_by_xpath('(.//span[@class = "x"])')[0].get_attribute("innerHTML")
© www.soinside.com 2019 - 2024. All rights reserved.