通过 xpath 找不到元素

element not found via xpath

我有一个按钮:

 <button type="submit" class="btn btn-default btn-auth">Anmelden</button>

nightwatch 不会通过以下方式找到它:

browser.waitForElementPresent('//button[@class="btn btn-default btn-auth"]', 5000); 
browser.waitForElementPresent('//button[contains(@class, "btn btn-default btn-auth")]', 5000); 
browser.waitForElementPresent('//button[text()="Anmelden"]', 5000); 
browser.waitForElementPresent('//button[contains(text(), "Anmelden")]', 5000); 

但是是这样找到的:

browser.waitForElementPresent('.btn.btn-default.btn-auth');

为什么上面的4个命令不起作用?我必须检查 text(),因为我有多个按钮具有相同的 class。

如果你想通过 XPath 查找元素,而不是 class/id 试试这个:

browser.useXpath().waitForElementPresent('//button[contains(@class,"btn-auth") and contains(text(),"Anmelden")]', 5000); 

使用这个 xpath;

//button[.="Anmelden"]