Как найти кнопку РЕГИСТРАЦИЯ - PullRequest
0 голосов
/ 26 сентября 2018

Как найти xpath кнопки в классе.Пожалуйста, найдите приложение, которое я загрузил:

image

Ответы [ 3 ]

0 голосов
/ 26 сентября 2018

Поскольку элемент является тегом <button>, простая идентификация элемента может оказаться недостаточной для вашего варианта использования , далее вам может понадобиться вызвать метод click() для элемента.

Для вызоваclick() на элементе, поскольку элемент находится в Модальном диалоговом окне , вам нужно настроить WebDriverWait , чтобы элемент был активным для клика , и вы можете использовать любой изследующие решения:

  • cssSelector:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("button.btn.btn-info.btn-lg-block.w3ls-btn1.px-4.text-uppercase[data-target$='exampleModal1']"))).click();
    
  • xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.id("//button[@class='btn btn-info btn-lg-block w3ls-btn1 px-4 text-uppercase'][normalize-space()='REGISTER']"))).click();
    
0 голосов
/ 26 сентября 2018

Попробуйте это с помощью CSS Selector.Убедитесь, что вы используете правильные ожидания

driver.findElement(By.cssSelector
     (.btn.btn-info.btn-lg-block.w3ls-btnl.px-4.text-uppercase)
 ).click();

Здесь type не следует использовать, поскольку это не имя узла / тега

driver.findElement(By.xpath("//div[@class='buttons']//button")).click();
//driver.findElement(By.xpath("//div[@class='buttons']/type")).click(); WRONG
  1. Убедитесь, что элемент не должен быть в кадрах, иначе мы должны сначала switchTo кадр, а затем выполнить findElement

     driver.switchTo("frameName/ID") 
           .findElement(By.xpath("//div[@class='buttons']//button"))
           .click();
    
  2. Элемент должен быть загружен до щелчка, вы можете использовать waitзаявление для этого

0 голосов
/ 26 сентября 2018

Попробуйте,

driver.findElement(By.xpath("//button[@data-target='@exampleModal1' and contains(text(),'Register')]"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...