我有一个带有标题任务详细信息和TaskTime的表。任务详细信息列包含一些文本(执行操作滚动编号 150 )并且单击执行java脚本操作并在同一窗口中显示新页面。
我想点击特定的表格单元格,例如第二个或第三个或任何单元格使用部分文本滚动号。通过使用findelementBy.cssselector。
下面是我的表格代码片段,它经常更新,不同的卷号。被添加到表
<tr class="Pointer" onmouseover="this.style.cursor='hand'" title="Perform" style="">
<td onclick="javascript:__doPostBack">Perform Operation roll no. 150</td>
<td onclick="javascript:__doPostBack">07 Jul 2015 05:26 PM</td>
<tr class="Pointer" onmouseover="this.style.cursor='hand'" title="Perform" style="">
<td onclick="javascript:__doPostBack">Perform Operation roll no. 161</td>
<td onclick="javascript:__doPostBack">07 Jul 2015 05:18 PM</td>
<tr class="Pointer" onmouseover="this.style.cursor='hand'" title="Perform" style="">
<td onclick="javascript:__doPostBack">Perform Operation roll no. 155</td>
<td onclick="javascript:__doPostBack">07 Jul 2015 05:13 PM</td>
请注意我的xpath无法正常工作,下表会经常更改。
答案 0 :(得分:1)
请尝试以下xpath:
//td[contains(text(),'roll no. 161')]
这会将具有innerHTML / text的td
元素定位为roll no. 161
。您始终可以将161
替换为您要查找的任何其他卷号。
如果您要点击列表中滚动编号的第2个,第3个或任何其他td
元素,您可以尝试以下操作:
(//td[contains(text(),'roll no.')])[2]
这会将DOM表示的时间顺序中的第二个 td
元素定位为包含innerHTML / text roll no.
。
(//td[contains(text(),'roll no.')])[3]
这会将DOM表示的时间顺序中的第三 td
元素定位为包含innerHTML / text roll no.
。
同样,您可以将最后一个[2]
替换为任何其他数字,以在页面中找到相关元素。
答案 1 :(得分:0)
深入了解css后,我能够在selenium ide中找到元素
css=tr.Pointer > td:contains(roll nos)
上面的卷nos会经常更改,因此元素定位器也是如此。