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

Selenium CSS选择器多引号处理及密码字段定位问题咨询

Selenium定位带嵌套引号属性的密码字段问题

使用Selenium定位密码字段时,无法找到可唯一标识该元素的特征。目前有两个属性可尝试用于定位,但属性值内存在多层嵌套引号,常规单双引号混用的方式仅能处理两层引号场景,三层及以上引号嵌套暂无可行处理思路。同时需要确认该需求是否无法通过CSS选择器实现,是否需要改用基于后代/子节点的类路径定位方案。

测试站点地址:https://myibd.investors.com/secure/signin.aspx?eurl=https://marketsmith.investors.com/

现有代码

import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 创建driver对象并打开目标页面
driver = webdriver.Chrome()
wait = WebDriverWait(driver, 20)
driver.get("https://myibd.investors.com/secure/signin.aspx?eurl=https://marketsmith.investors.com/")

# 切换到目标iframe
driver.switch_to.frame(driver.find_element_by_css_selector("iframe[id = 'signin-iframe']"))

# 定位账号输入框
login_field = driver.find_element_by_css_selector("input[name='username'][data-gigya-placeholder='Email']")
# 待实现:密码输入框定位
pswd_field = driver.find_element_by_css_selector()

待尝试的定位属性值

gigya-expression:data-gigya-placeholder="screenset.translations['PASSWORD_132128826476804690_PLACEHOLDER']" 
gigya-expression:aria-label="screenset.translations['PASSWORD_132128826476804690_PLACEHOLDER']"

已验证无效的解决方案

  • 方案1:使用反斜杠\转义属性值内部引号,代码如下:
password_field = driver.find_element_by_css_selector("input[gigya-expression:data-gigya-placeholder='\"screenset.translations[\'PASSWORD_132128826476804690_PLACEHOLDER\']\"']")
  • 方案2:使用HTML转义字符'(单引号)、"(双引号)替换对应符号,代码如下:
password_field = driver.find_element_by_css_selector("input[gigya-expression:data-gigya-placeholder='"screenset.translations['PASSWORD_132128826476804690_PLACEHOLDER']"']")

可行替代方案(XPath实现)

目前CSS选择器的引号冲突问题暂未解决,可通过XPath实现定位:在浏览器中打开目标元素的HTML源码,右键选择「复制」→「复制XPath」即可获取定位路径。

本次获取到的XPath路径://*[@id="gigya-login-form"]/div[2]/div[3]/div[2]/input
对应实现代码:

pswd_field = driver.find_element_by_xpath("//*[@id='gigya-login-form']/div[2]/div[3]/div[2]/input")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:36:03