【发布时间】:2017-07-10 21:33:54
【问题描述】:
我正在尝试获取网络应用程序上的特定文本元素。我无法共享 Html,但相关部分如下所示:
<div id ="user">
<div class="large columns">
<label for="object.disabled" class="readOnlyClass hide-label">
Text1
</label>
<div id="123x435q" class="readOnlyClass hide">
<input class="disabled-field" id="123x435qs" type="text" value="07/20/2017" disabled="">
</div>
<div class="class1">
<div>Text2</div>
"
07/10/2017
"
</div>
</div>
当我尝试通过 //*[@id='user']/div[2] 的 xpath 找到 element.getText().trim() 时
我得到结果:Text2 2017 年 7 月 10 日
我正在尝试仅获取 2017 年 7 月 10 日的文本。所以我尝试了 //*[@id='user']/div[2]/text()[2]
的 xpath当我在 Chrome 控制台中运行它时: $x(//*[@id='user']/div[2]/text()[2]) 我的文本节点的文本属性为 07/ 10/2017(我所期望的)。但是我在运行 Selenium 时得到的是:Text1。
所以有两个问题: 1. 为什么 path/text() 在 Selenium 中返回 Text1 而不是在 Chrome 控制台中? 2. 如何让一个元素只返回 class1 div 节点中的日期文本而不返回 Text2 文本?
【问题讨论】: