Я автоматизирую процесс отправки отчетов в WebDriver
, отчет имеет несколько страниц, и на всей странице будет кнопка Next
, чтобы перейти на следующую страницу.Локаторы Selenium Webdriver
Следующая кнопка имеет следующие локаторы,
<a class="buttonNext btn btn-green btnwidth" href="javascript:;" style="">Next</a>
Проблема заключается все Next
кнопок в отчете имеют те же локаторы, так как мастер содержит следующую, предыдущая и кнопка отправки является общей по всему тексту доклада и изменится только содержимое страницы, но эта панель остается неизменной во всем отчете.
я могу использовать xpath
кнопки Next
, которая:
.//*[@id='wizard']/div[2]/a[3]
Это xpath
же для всех тех мест, где кнопка Next
помещаются в отчете.
Мое кодирование даются, как показано ниже: -
driver.findElement(By.xpath("//div[@id='wizard']/div[2]/a[3]")).click();
Thread.sleep(3000);
((JavascriptExecutor)driver).executeScript("scroll(0,2500)");
driver.findElement(By.xpath("//div[@id='wizard']/div[2]/a[3]")).click();
driver.findElement(By.xpath("//div[@id='wizard']/div[2]/a[3]")).click();
//WebDriverWait wait2 = new WebDriverWait(driver, 10);
//WebElement element2 = wait.until(ExpectedConditions.elementToBeClickable(By.partialLinkText("Next")));
driver.findElement(By.id("SignatureDate")).click();
driver.findElement(By.id("SignatureDate")).clear();
driver.findElement(By.id("SignatureDate")).sendKeys("01/09/2016");
WebDriver
является idenfying первой Next
кнопки xpath
и нажав на него, но на следующие два страниц снова я обеспечиваю то же xpath
для доступа к кнопке Next
, но селен выдает мне сообщение об ошибке как: -
ElementNotVisibleexception: элемент не отображается.
Как я могу отличить кнопку Next
, чтобы идентифицировать ее для WebDriver
?
Примечание: Отчет открыт в iframe
& Я работаю в iframe
.
Почему ты прокомментировал эта строка кода 'wait.until (ExpectedConditions.elementToBeClickable (By.partialLinkText (« Далее »)));' ?? почему вы не пытаетесь с этим кодом дождаться, пока элемент будет видимым и кликабельным каждый раз? –
Я тоже пробовал этот код как исполняемый, но он не работает для меня. – user3836485
Что значит не работать? что было исключением, когда вы пытались использовать «WebDriverWait» ?? –