Python selenium 无效的 Xpath 表达式

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

所以我尝试使用 selenium Chrome webdriver 根据 Xpath 选择一个元素。

browser.find_element('xpath', "div[dyc-date='19990301']").click()

我收到以下错误:

块引用 无法对“文档”执行“评估”:字符串“[dyc-date='19990301']”不是有效的 XPath 表达式。”}

似乎需要我指定起始节点才能被视为有效表达式?即)

browser.find_element('xpath', "//*div[dyc-date='19990301']").click()

这不再给我一个错误,但现在它找不到表达式。 enter image description here enter image description here

这对我来说似乎很奇怪,因为(根据我的理解) //* 应该搜索与当前节点匹配的任何节点,无论它们在文档中的位置。

那么 //* 将搜索当前节点以下的所有节点,无论它们在哪里?

我的目标是修复 Xpath 表达式以查找/单击有问题的元素。谢谢!

python selenium-webdriver xpath webdriver
1个回答
0
投票

//div
将搜索文档中的所有 div 节点。

/div[@class="DynarchCalendar"]//div
将搜索类为
DynarchCalendar

的 div 下的所有 div 节点

我认为错误表明无法解析

[dyc-date='19990301']
。尝试以下特定的 Xpath。

//div[@class="DynarchCalendar"]/div[@class="DynarchCalendar-body"]/table[@class="DynarchCalendar-bodyTable"]/tr/td/div[@class="DynarchCalendar-day"]

或更简单的。

//div[@class="DynarchCalendar-day"][1]
© www.soinside.com 2019 - 2024. All rights reserved.