我想从网站上获取文本并将其插入到列表中,但发现element.text的速度非常慢,我尝试获取span的列表或获取其父级并获取它,但没有任何变化。我应该获取整个html文档并使用正则表达式进行选择吗?请告诉我如何改进它以及为什么。非常感谢你的帮助。这是我尝试过的两种方法:
for i in range(0,len(client_deliver_list_html),27):
if client_deliver_list_html[i+12].text ==0 :continue
client_cargo = [client_deliver_list_html[i].text,
client_deliver_list_html[i+1].text,
client_deliver_list_html[i+3].text,
client_deliver_list_html[i+5].text,
int(client_deliver_list_html[i+8]).text,
client_deliver_list_html[i+9].text,
float(client_deliver_list_html[i+12].text),
]
cargo_feature = [client_deliver_list_html[i+1],
client_deliver_list_html[i+3],
client_deliver_list_html[i+5],
]
if not cargo_feature in feature_list:feature_list.append(cargo_feature)
client_deliver_list.append(client_cargo)
另一个:
for tr in client_deliver_list_html:
client_cargo_atrbt = tr.find_elements_by_tag_name("span")
if (client_cargo_atrbt[30].text == 0):continue
client_cargo = [client_cargo_atrbt[1].text,
client_cargo_atrbt[3].text,
client_cargo_atrbt[4].text,
client_cargo_atrbt[6].text,
int(client_cargo_atrbt[10].text),
client_cargo_atrbt[11].text,
float(client_cargo_atrbt[14].text),
]
cargo_feature = [client_cargo[1],
client_cargo[2],
client_cargo[3],
]
您可以通过xpath获得所有span。
示例:
for span in browser.find_elements_by_xpath("//span"):
text = span.text
另一种获取文本的方法:
for span in browser.find_elements_by_xpath("//span"):
text = span.get_attribute("textContent")
您可以使用获取表格内的所有跨度
browser.find_elements_by_xpath("//span[ancestor::table]")