我正在寻找一种解决方案,该方法如何为元素生成Selenium定位符:
<a name="page" data-role="button" data-mini="true" data-inline="true" href="https://blablabla/bla/bla/bla/?formTemplatesList_start=120" data-aid="paginator-link-last">Last</a>
我的想法:
@FindBy(how = How.PARTIAL_LINK_TEXT, using = "paginator-link-last")
public WebElement lastTemplateButton;
@FindBy(how = How.XPATH, using = "//a[@data-aid='paginator-link-last']")
public WebElement lastTemplateButton;
它不起作用...我没有其他想法。
我在运行时收到NULL POINTER EXCEPTION:
public void selectTemplateToEdit() {
CustomWaitImpl.waitForElementDisplayed(editEvalTemplateLocators.getLastTemplateButton());
editEvalTemplateLocators.getLastTemplateButton().click();
}
答案 0 :(得分:0)
尝试使用此xpath并使用webDrver wait
//a[contains(text(),'Last')]
答案 1 :(得分:0)
您可以尝试以下方法吗?
@FindBy(how = How.XPATH, using = "//a[@data-aid = 'paginator-link-last']")
Public WebElement lastTemplateButton;
OR
@FindBy(how = How.XPATH, using = "//a[@data-aid = 'paginator-link-last' and contains(text(), Last]")
Public WebElement lastTemplateButton;
如果其中任何一个可行,我建议您仅删除how = How.XPATH
并只需在下面做以下代码即可作为参考:
@FindBy(using = "//a[@data-aid = 'paginator-link-last' and contains(text(), Last]")