@eldgammel

После закрытие модального окна selenium перестает видеть локаторы. Почему?

Привет, я новичок, не судите строго. За ответ заранее спасибо.
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);
        }
    }
}
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы