gpt4 book ai didi

python - xpath返回多个结果,python中如何处理

转载 作者:行者123 更新时间:2023-12-01 08:01:24 25 4
gpt4 key购买 nike

我已经使用 python 启动了 selenium。我可以使用 find_element_by_id 更改消息文本。我想对 find_element_by_xpath 执行相同的操作,但这并不成功,因为 xpath 有两个实例。想尝试一下以了解 xpath。

我想使用 python 对页面进行网页抓取,其中我需要清楚地了解主要需要转到下一页的 Xpath 的使用情况。

#This code works:
import time
import requests
import requests
from selenium import webdriver
driver = webdriver.Chrome()
url = "http://www.seleniumeasy.com/test/basic-first-form-demo.html"
driver.get(url)
eleUserMessage = driver.find_element_by_id("user-message")
eleUserMessage.clear()
eleUserMessage.send_keys("Testing Python")
time.sleep(2)
driver.close()
#This works fine. I wish to do the same with xpath.
#I inspect the the Input box in chrome, copy the xpath '//*[@id="user-message"]' which seems to refer to the other box as well.
# I wish to use xpath method to write text in this box as follows which does not work.

driver = webdriver.Chrome()
url = "http://www.seleniumeasy.com/test/basic-first-form-demo.html"
driver.get(url)
eleUserMessage = driver.find_elements_by_xpath('//*[@id="user-message"]')
eleUserMessage.clear()
eleUserMessage.send_keys("Test Python")
time.sleep(2)
driver.close()

最佳答案

要详细说明我的评论,您可以使用如下列表:

eleUserMessage_list = driver.find_elements_by_xpath('//*[@id="user-message"]')
my_desired_element = eleUserMessage_list[0] # or maybe [1]
my_desired_element.clear()
my_desired_element.send_keys("Test Python")
time.sleep(2)

find_elements_by_xpath 和 find_element_by_xpath 之间的唯一真正区别是第一个选项返回需要索引的列表。一旦被索引,它的工作方式与运行第二个选项相同!

关于python - xpath返回多个结果,python中如何处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55714075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com