如何用selenium把所有的text及其坐标保存下来注意只保存非空的 text且 text 不包含换行符
你可以使用Selenium的find_elements_by_xpath方法来找到页面上所有的元素,然后使用element.text属性获取元素的文本内容。注意,使用元素的坐标可能比较复杂,因为不同的元素有不同的定位方式(如绝对定位、相对定位、固定定位等)。以下是一个示例代码,它可以将页面上所有非空文本和它们的坐标保存到一个字典中:
from selenium import webdriver
# 创建浏览器驱动
driver = webdriver.Chrome()
# 打开网页
driver.get("https://example.com")
# 获取页面上所有的元素
elements = driver.find_elements_by_xpath("//*")
# 定义保存结果的字典
result = {}
# 遍历所有元素
for element in elements:
text = element.text.strip()
if text:
location = element.location
result[text] = (location['x'], location['y'])
# 输出结果
for text, location in result.items():
print(f"Text: {text}, Location: ({location[0]}, {location[1]})")
# 关闭浏览器
driver.quit()
注意,这个示例代码只能获取页面上可见的文本内容和它们的坐标。如果需要获取隐藏元素的文本内容,可以使用element.get_attribute("textContent")方法来代替element.text属性
原文地址: https://www.cveoy.top/t/topic/irXQ 著作权归作者所有。请勿转载和采集!