所以我尝试使用 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()
这对我来说似乎很奇怪,因为(根据我的理解) //* 应该搜索与当前节点匹配的任何节点,无论它们在文档中的位置。
那么 //* 将搜索当前节点以下的所有节点,无论它们在哪里?
我的目标是修复 Xpath 表达式以查找/单击有问题的元素。谢谢!
//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]