Как найти элемент кнопки и щелкнуть по нему - PullRequest
0 голосов
/ 06 декабря 2018
<button class="sfc-value sfc-js-change sfc-js-field sfc-ui-btn fo-ui-btn fo-ui-container fo-ui-fixed style-114 layout-156 sfc-js-click" type="button">
    <span class="sfc-caption fo-ui-label style-115 layout-157 fo-ui-no-icon">Next</span>
</button>

Я новичок в селене, и меня смущают классы, на которые нужно ориентироваться.Поэтому любой лучший способ нацелить элемент. Мне нужно нажать на кнопку здесь.

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

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

  • cssSelector :

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("button.sfc-value.sfc-js-change.sfc-js-field.sfc-ui-btn.fo-ui-btn.fo-ui-container.fo-ui-fixed.style-114.layout-156.sfc-js-click>span.sfc-caption.fo-ui-label.style-115.layout-157.fo-ui-no-icon"))).click();
    
  • xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@class='sfc-value sfc-js-change sfc-js-field sfc-ui-btn fo-ui-btn fo-ui-container fo-ui-fixed style-114 layout-156 sfc-js-click']/span[contains(text(),'Next')]"))).click();
    
0 голосов
/ 06 декабря 2018

Вы создаете xpath, который начинается с диапазона, используя содержащийся текст, а затем ссылается -back- на саму кнопку:

driver.findElement(By.xpath("//span[text()='Next']/..")).click();

** отредактировано

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...