ado*_*dom 2 java selenium xpath selenium-webdriver
我试图使用以下路径通过xpath定位元素,但我收到以下错误.xpath有可能找到这个元素吗?或者这是驱动程序本身的问题?
我希望能够区分/ p [4]/text()[1]和/ p [4]/text()[2]中的值.
.//*[@id='content']/p[4]/text()[1]
org.openqa.selenium.InvalidSelectorException: The given selector .//*[@id='content']/p[4]/text()[1] is either invalid or does not result in a WebElement. The following error occurred:
Run Code Online (Sandbox Code Playgroud)
InvalidSelectorError:xpath表达式".//*[/ id ='content']/p [4]/text()[1]"的结果是:[object XrayWrapper [object Text]].它应该是一个元素.
这是一个例子的html.我试图用/ text()验证文本'(会话的额外问题)'.
<div class="ad_field">
<label for="survey_id">Survey</label>
(extra questions for session)
<br>
</div>
Run Code Online (Sandbox Code Playgroud)
好吧,问题是这个XPath表达式不会找到你的元素,而是你选择了一些文本.
也就是说,错误消息还告诉您:
The given selector [...] does not result in a WebElement.
您已经询问.//*[@id='content']/p[4]/text()[1]函数中的哪一端/text()不选择节点,而是选择它的文本.我不确定是什么/text()[1],但假设它将选择该文本中的第二个字符.至少我认为可以安全地假设它不会将文本神奇地转换为DOM元素.
但是,WebDriver假设您的表达式导致它可以表示为一个DOM元素WebElement.此表达式不会因此抛出表达式.
作为提示,您应该打开网页并使用工具在有疑问时手动检查您的XPath.我将Firebug与FirePath AddOn一起用于此,但您可以随意使用您认为有用的任何内容.
| 归档时间: |
|
| 查看次数: |
3132 次 |
| 最近记录: |