Python 如何格式化文本,使其看起来像网站上显示的一样?
我正在用Python selenium创建一个网站。这是网站上的代码: 我希望文本看起来像网站上显示的一样,也就是说,以一种有组织的格式,容易“阅读”并带有换行符 我试着用Python 如何格式化文本,使其看起来像网站上显示的一样?,python,selenium,Python,Selenium,我正在用Python selenium创建一个网站。这是网站上的代码: 我希望文本看起来像网站上显示的一样,也就是说,以一种有组织的格式,容易“阅读”并带有换行符 我试着用 driver.find_element_by_class_name('record-content.record-information.record-content_j').text 但是里面有\n\n个字符。我试着打印(文本),看起来好多了。但是,有没有一种方法可以将文本存储在数据框或其他东西中,以便以有组织的格式保
driver.find_element_by_class_name('record-content.record-information.record-content_j').text
但是里面有\n\n个字符。我试着打印(文本),看起来好多了。但是,有没有一种方法可以将文本存储在数据框或其他东西中,以便以有组织的格式保存。
该网站如下所示:
当我试着
rawData=driver.find_element_by_class_name('record-content.record-information.record-content_j').text
sanitizedData = rawData.replace('\n','')
print(BeautifulSoup(sanitizedData, 'html.parser').prettify())
输出如下所示:
换行符的“br”标记刚刚消失。正如我们通过
提取的那样。文本内容中不包含
标记,我们可以使用BeautifulSoup来实际验证输出。类似地,如果您想维护html,我们可以使用element.get_属性('innerHTML')
,如果需要,可以去掉任何新行字符。希望这有帮助:)
谢谢我试过你的方法,但似乎不是我想要的。我已经更新了我的问题。我猜是驱动程序。通过类名称(XXX)查找元素。文本只需删除那些
标记?@hjgh我已经更新了原始答案,我想它现在可能就是您要查找的:)
from selenium import webdriver
from bs4 import BeautifulSoup
def main():
""" Start Firefox instance """
driver = webdriver.Firefox()
driver.get("http://yoursite.com")
""" Extract content """
rawData = driver.find_element_by_class_name('record-content.record-information.record-content_j').text
""" Print to console """
print(BeautifulSoup(rawData, 'html.parser').prettify())
if __name__ == "__main__":
main()