你可以使用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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录