我目前正在学习 Selenium 自动化,我正在尝试自动化一项简单的任务:
为了实现这一目标,我使用 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)
谢谢!
使用下面的 xpath 在文本框中输入
//input[contains(@class, 'flt-text-editing')]