【发布时间】:2017-10-15 10:07:16
【问题描述】:
我有喜欢的html
<html>
<body>
<div class='open'>
<h1>Title</h1>
<div>Opened</div>
</div>
</body>
</html>
在我的 Selenium WebDriver 3 测试中,我尝试使用以下 xpath 选择 div.open 元素:
//h1/../.[contains(@class, 'open')]
在c#中的以下命令中:
driver.FindElement(By.XPath("//h1/../.[contains(@class, 'open')]"));
这会导致
OpenQA.Selenium.InvalidSelectorException:无效选择器: 由于以下错误,无法使用 xpath 表达式 //h1/../.[contains(@class, 'open')] 找到元素:: 无法对“文档”执行“评估”:字符串 '//h1/../.[contains(@class, 'open')]'不是有效的 XPath 表达式。
在 Firefox 控制台中通过相同的 Xpath 搜索成功定位到元素。
任何想法为什么 WebDriver 认为这个 xpath 无效?
注意:我的例子当然是简化的
【问题讨论】:
标签: selenium xpath selenium-webdriver