Не работает метод click() или работает как-то избирательно…
Все началось с того, что в выпадающем списке не смог выбрать необходимый элемент:
package com.driver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Listdown {
static WebDriver driver;
public static void main(String[] args) {
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.get("https://accounts.google.com/SignUp?service=mail&hl=ru&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F%3Fpc%3Dtopnav-about-ru");
driver.findElement(By.xpath("(//strong[text()='Пол']/following-sibling::div/div[@role='listbox'])[1]")).click();
driver.findElement(By.xpath("//div[text()='Мужской']/parent::div[@role='option']")).click();
}
}
Не работает метод клика по элементу “Мужской”. Xpath пути к элементу в FirePath подсвечивает корректно. Для проверки вывел значение искомого элемента в консоль - в консоли, как положено, выводится слово “Мужской”.
Далее поэкспериментировал на сайте ok.ru. Путем танцев с бубнами сумел выбрать элемент выпадающего списка, но исключительно с применением Actions и двойного клика doubleClick() по элементу, метод одинарного клика click() в этом коде по-прежнему работать не будет:
package com.driver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
public class Listdown {
static WebDriver driver;
public static void main(String[] args) {
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.get("https://ok.ru/dk?st.cmd=anonymMain&st.registration=on");
selectOpt("Country", "Albania");
}
public static void selectOpt (String name, String option) {
driver.findElement(By.xpath(String.format("//label[text()='%s']/parent::span/following-sibling::div", name))).click();
Actions builder = new Actions(driver);
WebElement elemOption = driver.findElement(By.xpath(String.format("//*[@id='country']/option[text()='%s']", option)));
builder.doubleClick(elemOption).perform();
}
}
Сейчас вот смотрю третий сайт и опять click() не работает (выбранный чекбокс не отмечается, только визуально подсвечивается красным на странице выполнения, т.е. какое-то действие на нем совершается, далее когда трогаешь мышь, подсветка пропадает):
package com.driver;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Listcheckbox {
static WebDriver driver;
public static void main(String[] args) {
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.get("https://market.yandex.by/catalog/54913/list?hid=90566&track=fr_ctlg&local-offers-first=0&deliveryincluded=0&onstock=1");
List<WebElement> checkboxes = driver.findElements(By.xpath("//div[@class='n-filter-panel-aside__content']/div[4]//span[@class='checkbox__box']"));
checkboxes.get(4).click();
}
}
На исполнение кода в консоль вываливается сообщение:
Наверное, проблема технического плана - не кода, не хpath-а и т.д…
Работаю на: Firefox 47.0.2 + WebDriver 2.53.1 + Eclipse Neon.
Подскажите как решить проблему? Невозможно продолжать работу уже второй день…