我用过:
driver.find_elements_by_xpath('(.//span[@class = "x"])')[0].text
它所提供的信息是正确的,但它增加了HTML中显示的空格,就像来自网站im scaping的"‭"
一样。
我如何删除这些因此我可以将str转换为int,因为这会阻止我。
我试过没有运气的.strip
和.replace
。
继承人原始HTML
<span class="coordinateX">(‭−‭52‬‭</span>
当我打印这个字符串时,我得到(-52但是当我len()
它由于这些隐藏的字符而得到8而不是4。
谢谢马克。
也许尝试正则表达式?
import re
string = 'Here is some string to‭test'
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
相关的HTML将帮助我们以更好的方式调试问题。但是,您可以使用get_attribute()
方法而不是text
属性,如下所示:
myText = driver.find_elements_by_xpath('(.//span[@class = "x"])')[0].get_attribute("innerHTML")