Selenium 获取网页内容并拆分:如何将每个元素的换行文字分别获取
texts = driver.find_elements(By.TAG_NAME, 'body')
attributes = [single_input.get_attribute('outerHTML') for single_input in inputs] texts = [text.text for text in texts]
为什么生成的 texts 只有一个元素:同意 南方航空公司官网 无障碍浏览 意见反馈 在线客服 China
生成的 texts 只有一个元素的原因是,find_elements 方法返回的是一个列表,而在该代码中只找到了一个 body 元素。
要将每个\n之间的文字分别作为一个元素,可以使用 split 方法将字符串按照\n进行分割,然后将分割后的每个子字符串作为一个元素添加到一个新的列表中。可以使用如下代码实现:
texts = driver.find_elements(By.TAG_NAME, 'body')
text_elements = [text.text.split('\n') for text in texts]
text_list = [text for sublist in text_elements for text in sublist]
这样,text_list 中的每个元素就是 texts 中每个 body 元素中的每行文字。
原文地址: https://www.cveoy.top/t/topic/p9aF 著作权归作者所有。请勿转载和采集!