You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Selenium WebDriver时粘贴的XPath出现红色下划线,是什么原因?

问题原因说明

  1. 注释语法错误
    Python的单行注释规则是用#作为开头标识,你当前直接把复制的XPath以//开头裸写在代码中,//并不是Python的合法注释符号,属于语法错误,因此IDE会给这部分内容标注红色下划线提示报错。如果你只是想临时存储XPath备用,只需要在每一行XPath前添加#即可消除语法报错。

  2. 无效的独立代码行
    XPath本身是定位表达式,不能作为独立的代码行直接在Python中运行,正确的用法是将XPath作为字符串参数传入Selenium的元素定位方法中。另外需要注意,目前Selenium 4及以上版本已经废弃了find_element_by_xpath的写法,推荐使用新的定位规范,需要先导入By类。

正确代码示例

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 导入定位需要的By类
from selenium.webdriver.common.by import By

driver = webdriver.Chrome(executable_path='/Users/name/Desktop/Selenium/chromedriver')

url = 'https://healthscreening.schools.nyc/?type=G'

driver.get(url)

# 把XPath作为参数传入定位方法即可正常使用
last_name_input = driver.find_element(By.XPATH, '//*[@id="guest_last_name"]')
email_input = driver.find_element(By.XPATH, '//*[@id="guest_email"]')
submit_btn = driver.find_element(By.XPATH, '//*[@id="btnDailyScreeningSubmit"]/button')

# 后续可对定位到的元素执行输入、点击等操作
# 示例:last_name_input.send_keys("测试姓氏")

内容的提问来源于stack exchange,提问作者deepsingh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:45:03