繁体   English   中英

selenium webdriver xpath代

[英]selenium webdriver xpath generation

我想基于第一列值(xyz)创建一个用于单击“run”(第4列)的xpath。 下面的xpath不起作用。 你能建议一种更好的编写xpath的方法吗?

//table/tbody/tr/td[text()='xyz fix']/parent::tr/td[4]
<div id="main">
   <table class="FixedLayout" width="1000px">
      <tbody>
         <tr></tr>
         <tr>
            <td class="RowHeight">
               <a href="/TestPass/View/373">xyz</a>
            </td>
            <td>xyz fix</td>
            <td>1125</td>
            <td>
               <a href="/Instance/Create?suiteId=373">Run</a>
            </td>
         </tr>
         <tr>
            <td class="RowHeight">
               <a href="/TestPass/View/372">abc</a>
            </td>
            <td>abc fix</td>
            <td>1125</td>
            <td>
               <a href="/Instance/Create?suiteId=372">Run</a>
            </td>
         </tr>
      </tbody>
   </table>
</div>

我不明白你为什么不行。 请说明“不起作用”的含义。 NoSuchElementException ElementNotVisibleException 错误的XPath? 没有点击链接或什么?

同时,尝试以下XPath(但问题可能是您的Selenium代码而不是XPath):

这里我假设您想要<a>链接而不是<td> ,因为您提到要单击它。

使用XPath谓词:

//*[@id='main']//table/tobdy/tr[td[text()='xyz']]/td[4]/a

将XPath谓词与属性选择器一起使用以避免使用索引。

//*[@id='main']//table/tobdy/tr[td[text()='xyz']]//a[contains(@href, 'Instance/Create')]

使用..来获取父母

//*[@id='main']//table/tobdy/tr/td[text()='xyz']/../td[4]/a

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM