Webdriver не может найти элемент - PullRequest
0 голосов
/ 13 января 2019

buttons

Selenium не может найти этот путь, я пытался каждый раз, когда мне нужно нажать последнюю кнопку Отключить, но я не могу

Я пробовал xpath, cssSelectors,

 @When("^I click deactivate button$")
public void iClickDeactivateButton(){
    WebElement deactivateBatchButton = driver.findElement(By.xpath("//BUTTON[@_ngcontent-c14=''][text()='Deactivate'][text()='Deactivate']/self::BUTTONclass='deactivate']"));
    deactivateBatchButton.click();
}

Я хочу нажать на эту кнопку и провести еще один тест.

Ответы [ 2 ]

0 голосов
/ 13 января 2019

Вы можете продолжить с названием кнопки.

    WebElement deactivateBatchButton = driver.findElement(By.xpath("//*[text()='Deactivate']"));

deactivateBatchButton.click();
0 голосов
/ 13 января 2019

Поскольку требуемый элемент является элементом Angular , и для его определения необходимо вызвать WebDriverWait , и вы можете использовать любое из следующих решений:

  • cssSelector:

    WebElement deactivateBatchButton = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("button.deactivate.xh-highlight")));
    
  • xpath:

    WebElement deactivateBatchButton = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@class='deactivate xh-highlight' and text()='Deactivate']")));
    
...