Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику 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;
}
}
Вы запускаете поток по таймеру где и вылазит ошибка, конкретно - $(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);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Пытаюсь запустить Eclipse, появляется окно ошибки, которое перенаправляет меня в лог ошибкиПри открытии лога появляется следующая ошибка
Подскажите, пожалуйста, как реализовать Comparator при сортировке массиваДано: массив строк
Читал статью про кастомные аллокаторы, но не могу понять, как они выделяют память именно на куче, разве есть какой-то способ взять память на куче,...