Привет, я новичок, не судите строго. За ответ заранее спасибо.
Selenium пишу на Java
Шаги селениума:
Открывает браузер => нажимает на кнопку авторизоваться => всплывает модальное окно => вводит почту => вводит пароль => кликает на "войти" =>
и вот тут все... перестает видеть дальнейшие локаторы и идти по ним.
Пробовал ставить неявные ожидания, увы не помогло.
В консоле пишет, что последний шаг не клибальный и он повторно нажимает на предыдущий
org.openqa.selenium.WebDriverException: unknown error: Element <span class="t-crop t-crop--one-l">...</span> is not clickable at point (924, 673). Other element would receive the click: <div data-modal="Login" aria-expanded="true" class="vm--overlay">...</div>
Код:
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import javax.swing.*;
import java.time.Duration;
public class Main {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver"); // путь к драйверу
WebDriver driver = new ChromeDriver(); // запускаем Chrome
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10)); // настроили неявные ожидания
try {
driver.get("https://turk.com/"); // запускаем сайт
Thread.sleep(1000);
WebElement signIn = (new WebDriverWait(driver, Duration.ofSeconds(10)).until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[@class=\"header__user-nav\"]//ul//li[3]//a"))));
signIn.click();
WebElement emaiField = driver.findElement(By.xpath("//div[@class=\"tab__content tab__content--current\"]//div[1]//div//input[@type=\"text\"]"));
emaiField.click();
emaiField.sendKeys("vasyaPupkin87@gmail.com");
WebElement passwordField = driver.findElement(By.xpath("//div[@class=\"tab__content tab__content--current\"]//div[1]//div//input[@type=\"password\"]"));
passwordField.click();
passwordField.sendKeys("Test-me-test");
WebElement enterToProfile = driver.findElement(By.xpath("//div[@class=\"modal__btn-wrap\"]//button"));
enterToProfile.click(); // это последний рабочий шаг, дальше не работает
WebElement test = (new WebDriverWait(driver, Duration.ofSeconds(10)).until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[@class=\"nav__categories-header\"]//a"))));
test.click(); // именно тут перестает работать, но если удалить предыдущие шаги и оставить ТОЛЬКО это то работает
} catch (Exception e) {
System.out.println(e);
}
}
}