Selenium-如何找到Web元素的定位器?

时间:2018-08-28 11:07:14

标签: selenium xpath

我正在寻找一种解决方案,该方法如何为元素生成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();
    }

2 个答案:

答案 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]")