Тестирую оформление заказа у одного туроператора. У меня проблема с доступом к кнопке. Я мало знаком с js, но мне кажется что элементы генерируются скриптами. В общем я мало что понимаю именно в работе этой странице. Задайте мне вектор в каком направлении двигаться. К некоторым элементам я могу обращаться. Например к тем что находятся в header страницы. Но мне нужна кнопка “Больше опций”. Сам адрес страницы https://global.natalie-tours.ru/b2c/ на нее надо перейти с страницы https://www.natalie-tours.ru/
Вот как я пытаюсь это сделать
public class OrderTest {
private WebDriver driver;
private String baseUrl;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void SetUp() throws Exception {
System.setProperty("webdriver.gecko.driver", "C:\\Users\\egor\\Documents\\geckodriver.exe");
driver = new FirefoxDriver();
baseUrl = "https://www.natalie-tours.ru";
}
@Test
public void TestOrder() throws Exception{
this.driver.get(baseUrl);
this.driver.manage().window().maximize();
WebElement countries = this.driver.findElement(By.id("countries"));
countries.click();
Select dropdownCountry = new Select(countries);
dropdownCountry.selectByValue("18");
WebElement myChosenCountry = dropdownCountry.getFirstSelectedOption();
myChosenCountry.sendKeys(Keys.ENTER);
String parentHandle = this.driver.getWindowHandle();
WebElement selectZone = this.driver.findElement(By.id("zones"));
selectZone.click();
Select dropdownZone = new Select((selectZone));
dropdownZone.selectByValue("16");
WebElement myChosenZone = dropdownZone.getFirstSelectedOption();
myChosenZone.sendKeys(Keys.ENTER);
WebElement searchButton = this.driver.findElement(By.cssSelector("input[type=\"submit\"]"));
searchButton.click();
Thread.sleep(10000);
Set<String> windows = this.driver.getWindowHandles();
System.out.println(windows.size());
Iterator iterator = windows.iterator();
String currentWindowId;
while (iterator.hasNext()){
currentWindowId = iterator.next().toString();
if (!currentWindowId.equals(parentHandle)){
this.driver.switchTo().window(currentWindowId);
WebElement buttonOpt = this.driver.findElement(By.xpath("//*[@id=\"moreInfo1293951883\"]/button/span"));
buttonOpt.click();
}
}