在 Python 中使用 Selenium XPath 查找输入字段很困难

问题描述 投票:0回答:1

我目前正在学习 Selenium 自动化,我正在尝试自动化一项简单的任务:

  1. 导航到网页,(https://sri-gpt.github.io)
  2. 定位输入字段,
  3. 在其中输入文本,然后提交表格。

为了实现这一目标,我使用 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)

谢谢!

python google-chrome selenium-webdriver selenium-chromedriver
1个回答
0
投票

使用下面的 xpath 在文本框中输入

//input[contains(@class, 'flt-text-editing')]
© www.soinside.com 2019 - 2024. All rights reserved.