使用Selenium XPath在Python中难以找到输入字段
我现在正在学习Selenium自动化,想要自动化一个简单的任务:
- 访问一个网页,(https://sri-gpt.github.io)
- 找到一个输入框,
- 在里面输入文本,然后提交表单。
为此,我使用的是Python和Selenium WebDriver。
这是我写的代码:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://sri-gpt.github.io")
# Find the form field using its XPath
form_field = driver.find_element("xpath", '/html/body/flutter-view/flt-text-editing-host/form/input[1]')
form_field.send_keys("MyInput_123")
driver.quit()
但是,当我运行这段代码时,遇到了以下错误:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/flutter-view/flt-text-editing-host/form/input[1]"}
看起来我用来找到输入框的XPath
表达式不正确。我尝试了不同的写法,但都没有成功。有没有人能帮我修正我的XPath表达式,让我能成功找到网页上的输入框?
另外,如果有关于使用Selenium WebDriver定位元素的最佳实践或其他方法,我也很感激任何建议或意见。
Selenium version: 4.18.1
Python version: 3.10.12
Ubuntu version: 22.04
Chrome version: 22.0.6261.128 (Official Build) (64-bit)
谢谢!
2 个回答
0
你可以使用XPath或者chropath这个Chrome扩展来找到具体的元素。
0
使用下面的xpath来输入文本到文本框中
//input[contains(@class, 'flt-text-editing')]