Webdriver如何替换动态定位器来使用Page Factory

时间:2015-08-13 16:19:03

标签: selenium selenium-webdriver webdriver

这是html代码:

<table>
<tbody>
<tr>
  <td>
    <a>text1</a>
  </td>
  <td>
    <div>delete<div/>
  </td>
</tr>
</tbody>
</table>

<table>
<tbody>
<tr>
  <td>
    <a>text1</a>
  </td>
  <td>
    <div>delete<div/>
  </td>
</tr>
</tbody>
</table>

我需要点击“删除”,其中包含指定的文本(例如“text1”)。 我使用以下xpath执行此操作:

driver.findElement(By.xpath(".//div/table/tbody/tr/td[text()='" + id + "']/following-sibling::td[3]/div")).click(); 

但我想使用Page Factory并避免使用动态定位器。 那么有谁知道如何以另一种方式点击所需元素?

1 个答案:

答案 0 :(得分:0)

如果您的xPath有效,为什么不能在页面对象中使用它?

如果您使用Java,请执行以下操作:

@FindBy(how = How.xpath, using = "".//div/table/tbody/tr/td[text()='" + id + "']/following-sibling::td[3]/div"")