Ошибка при ловле исключений [закрыт]

188
22 октября 2021, 17:00
Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.

Закрыт 1 год назад.

Улучшить вопрос

Ошибка:

Caused by: NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[3]/div/div/div[3]/button[2]"}
    at com.codeborne.selenide.impl.WebElementSource.createElementNotFoundError(WebElementSource.java:37)
    at com.codeborne.selenide.impl.ElementFinder.createElementNotFoundError(ElementFinder.java:100)
    at com.codeborne.selenide.impl.WebElementSource.checkCondition(WebElementSource.java:65)
    at com.codeborne.selenide.impl.WebElementSource.findAndAssertElementIsInteractable(WebElementSource.java:87)
    at com.codeborne.selenide.commands.Click.execute(Click.java:13)
    at com.codeborne.selenide.commands.Click.execute(Click.java:9)
    at com.codeborne.selenide.commands.Commands.execute(Commands.java:145)
    at com.codeborne.selenide.impl.SelenideElementProxy.dispatchAndRetry(SelenideElementProxy.java:99)
    at com.codeborne.selenide.impl.SelenideElementProxy.invoke(SelenideElementProxy.java:65)
    at com.sun.proxy.$Proxy5.click(Unknown Source)
    at application.SecondClass$1.run(SecondClass.java:32)
    at java.util.TimerThread.mainLoop(Unknown Source)
    at java.util.TimerThread.run(Unknown Source)
Caused by: org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[3]/div/div/div[3]/button[2]"}
  (Session info: chrome=78.0.3904.87)
For documentation on this error, please visit: https://www.seleniumhq.org/exceptions/no_such_element.html
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:48'
System info: host: 'ПК', ip: '192.172.121.8', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_221'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 78.0.3904.87, chrome: {chromedriverVersion: 78.0.3904.70 (edb9c9f3de024..., userDataDir: C:\Users\E6D8~1\AppData\Loc...}, goog:chromeOptions: {debuggerAddress: localhost:52641}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
Session ID: 67fe1b9abba416ba6f449b974e85004b
*** Element info: {Using=xpath, value=/html/body/div[3]/div/div/div[3]/button[2]}
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
    at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
    at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:323)
    at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:428)
    at org.openqa.selenium.By$ByXPath.findElement(By.java:353)
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:315)
    at com.codeborne.selenide.impl.WebElementSelector.findElement(WebElementSelector.java:28)
    at com.codeborne.selenide.impl.ElementFinder.getWebElement(ElementFinder.java:74)
    at com.codeborne.selenide.impl.WebElementSource.checkCondition(WebElementSource.java:50)
    ... 10 more

Код:

public static void Notch() {
    try {
        try {
            Configuration.browserPosition = "5000x5000";
            // TODO Auto-generated method stub
            System.setProperty("webdriver.chrome.driver", "C:\\Users\\" + System.getProperty("user.name") + "\\chromedriver.exe");// "C:\\Users\\"+System.getProperty("user.name")+"\\chromedriver.exe");
            System.setProperty("selenide.browser", "Chrome");
            new java.util.Timer().schedule(new TimerTask() {
                @Override
                public void run() {
                    if (haapy == 11) {
                        open("https://www.vk.com/accounts/login/?hl=ru");
                        $(By.xpath("//*[@id=\"react-root\"]/section/main/div/article/div/div[1]/div/form/div[2]/div/label/input")).setValue(login).pressEnter();
                        $(By.xpath("//*[@id=\"react-root\"]/section/main/div/article/div/div[1]/div/form/div[3]/div/label/input")).setValue(password).pressEnter();
                        $(By.xpath("/html/body/div[3]/div/div/div[3]/button[2]")).click();
                        haapy = 12;
                    }
                }
            }, 1000 * 2, 1000 * 2);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        } catch (org.openqa.selenium.NoSuchElementException e23) {
            System.out.println("Опа, очибка");
            haapy = 11;
            stop = 44;
        }
    } catch (NoSuchElementException e24) {
        System.out.println("Опа, очибка");
        haapy = 11;
        stop = 44;
    }
}
Answer 1

Вы запускаете поток по таймеру где и вылазит ошибка, конкретно - $(By.xpath("/html/body/div[3]/div/div/div[3]/button[2]")).click() //не удалось получить указанный элемент
но кетч у вас в другом потоке, получается как - вы планируете поток ждете секунду, и выходите с метода так как эксепшонов в этом потоке нет. Стартует поток таймера там выскакивает эксепш, который вы не отловили. Пример:

private static Timer sheduler = new Timer();
    public static void Notch() {
        Configuration.browserPosition = "5000x5000";
        // TODO Auto-generated method stub
        System.setProperty("webdriver.chrome.driver", "C:\\Users\\" + System.getProperty("user.name") + "\\chromedriver.exe");// "C:\\Users\\"+System.getProperty("user.name")+"\\chromedriver.exe");
        System.setProperty("selenide.browser", "Chrome");
        sheduler.schedule(new TimerTask() {
            @Override
            public void run() {
                try
                {
                    if (haapy == 11) {
                        open("https://www.vk.com/accounts/login/?hl=ru");
                        $(By.xpath("//*[@id=\"react-root\"]/section/main/div/article/div/div[1]/div/form/div[2]/div/label/input")).setValue(login).pressEnter();
                        $(By.xpath("//*[@id=\"react-root\"]/section/main/div/article/div/div[1]/div/form/div[3]/div/label/input")).setValue(password).pressEnter();
                        $(By.xpath("/html/body/div[3]/div/div/div[3]/button[2]")).click();
                        haapy = 12;
                    }
                } catch (org.openqa.selenium.NoSuchElementException e)
                {
                    System.out.println("Опа, очибка");
                    haapy = 11;
                    stop = 44;
                }
            }
        }, 1000 * 2, 1000 * 2);
    }
READ ALSO
Не запускается Eclipse на Mac OSX

Не запускается Eclipse на Mac OSX

Пытаюсь запустить Eclipse, появляется окно ошибки, которое перенаправляет меня в лог ошибкиПри открытии лога появляется следующая ошибка

271
Java Использование Comparator в сортировке

Java Использование Comparator в сортировке

Подскажите, пожалуйста, как реализовать Comparator при сортировке массиваДано: массив строк

179
Кастомные аллокаторы памяти

Кастомные аллокаторы памяти

Читал статью про кастомные аллокаторы, но не могу понять, как они выделяют память именно на куче, разве есть какой-то способ взять память на куче,...

150