Получение NoSuchElementException: нет такого элемента: невозможно найти элемент - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь автоматизировать это с. Но когда я пытаюсь отправить текст в текстовые поля, он получает NoSuchElementException. Я пробовал webdriverwait также. Но не повезло. В верхней части окна есть всплывающее окно. Я закрыл его, а также попытался добавить аргумент --disable-popup-blocking. Но все равно это не работает. Так кто-нибудь может сказать мне, что я здесь делаю неправильно? Я высоко ценю это. Спасибо.

    System.setProperty("webdriver.chrome.driver", "chromedriver/chromedriver.exe");

    ChromeOptions options = new ChromeOptions();
    options.addArguments("--disable-popup-blocking");
    options.addArguments("chrome.switches", "--disable-extensions");

    WebDriver driver = new ChromeDriver(options);
    driver.manage().window().maximize();
    driver.get(URL);

    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

    JavascriptExecutor jse = (JavascriptExecutor) driver;
    jse.executeScript("window.scrollBy(0,250)");

    driver.findElement(By.cssSelector("#txt_insert2055107")).click();
    driver.findElement(By.cssSelector("#txt_insert2055107")).sendKeys("Test");
    driver.findElement(By.id("txt_insert2055108")).click();
    driver.findElement(By.id("txt_insert2055108")).sendKeys("Test");
    driver.findElement(By.id("btnsubmit")).click();

    driver.close();

1 Ответ

1 голос
/ 23 апреля 2020

Вы не можете отправить текст на свой вход, потому что вам нужно переключиться на iframe. Ниже приведен рабочий код:

https://www.frontrush.com/FR_Web_App/Player/PlayerSubmit.aspx?sid=MTA1NTc=-9M6ha/5BuDo=&ptype=recruit

код:

        driver.get("https://columbiacougars.com/sb_output.aspx?frform=8&path=mbball");
        driver.switchTo().frame(0);

        driver.manage().window().maximize();

        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        WebDriverWait wait = new WebDriverWait(driver, 10);

        Actions action = new Actions(driver);
        WebElement firstName=wait.until(ExpectedConditions.elementToBeClickable(By.id("txt_insert2055107")));
        ((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();", firstName);
        action.moveToElement(firstName).sendKeys("Test").perform();
        WebElement lastName=wait.until(ExpectedConditions.elementToBeClickable(By.id("txt_insert2055108")));
        ((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();", lastName);
        lastName.sendKeys("Test");
        action.moveToElement(lastName).sendKeys("Test").perform();
        WebElement clickElement=wait.until(ExpectedConditions.elementToBeClickable(By.name("btnsubmit")));
        ((JavascriptExecutor)driver).executeScript("arguments[0].click();", clickElement);
        driver.close();

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...