моя программа обновляет постоянно страницу в инстаграмме, через таймер, вот код:
public static void main(String[] args) {
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");
open("https://www.instagram.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();
final ScheduledExecutorService ses = Executors.newSingleThreadScheduledExecutor();
ses.scheduleWithFixedDelay(new Runnable() {
@Override
public void run() { Selenide.refresh(); }
}, 2, 600, TimeUnit.SECONDS);
но почему-то, на том моменте, когда начинает работать таймер, selenide перестает работать, и выбрасывает ошибку:
ноя 02, 2019 1:09:29 PM com.codeborne.selenide.drivercommands.LazyDriver getAndCheckWebDriver
INFO: No webdriver is bound to current thread: 1 - let's create a new webdriver
Starting ChromeDriver 78.0.3904.70 (edb9c9f3de0247fd912a77b7f6cae7447f6d3ad5-refs/branch-heads/3904@{#800}) on port 32334
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
ноя 02, 2019 1:09:33 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
ноя 02, 2019 1:09:33 PM com.codeborne.selenide.webdriver.BrowserResizer adjustBrowserSize
INFO: Set browser size to 1366x768
ноя 02, 2019 1:09:33 PM com.codeborne.selenide.webdriver.BrowserResizer adjustBrowserPosition
INFO: Set browser position to 5000x5000
ноя 02, 2019 1:09:33 PM com.codeborne.selenide.webdriver.WebDriverFactory logBrowserVersion
INFO: BrowserName=chrome Version=78.0.3904.87 Platform=XP
ноя 02, 2019 1:09:33 PM com.codeborne.selenide.webdriver.WebDriverFactory createWebDriver
INFO: Selenide v. 5.3.1
ноя 02, 2019 1:09:33 PM com.codeborne.selenide.webdriver.WebDriverFactory logSeleniumInfo
INFO: Selenium WebDriver v. 3.141.59 build time: 2018-11-14T08:25:48
ноя 02, 2019 1:09:33 PM com.codeborne.selenide.drivercommands.CreateDriverCommand createDriver
INFO: Create webdriver in current thread 1: ChromeDriver -> ChromeDriver: chrome on XP (f00af332118c63fce54241dcbe772091)
ноя 02, 2019 1:09:43 PM com.codeborne.selenide.impl.UnusedWebdriversCleanupThread closeUnusedWebdrivers
INFO: Thread 1 is dead. Let's close webdriver com.codeborne.selenide.SelenideDriver@48ab8b1a
ноя 02, 2019 1:09:43 PM com.codeborne.selenide.drivercommands.CloseDriverCommand run
INFO: Close webdriver: 10 -> ChromeDriver: chrome on XP (f00af332118c63fce54241dcbe772091)
ноя 02, 2019 1:09:43 PM com.codeborne.selenide.drivercommands.CloseBrowser run
INFO: Trying to close the browser ChromeDriver ...
ноя 02, 2019 1:09:44 PM com.codeborne.selenide.drivercommands.CloseDriverCommand run
INFO: Closed webdriver 10 in 863 ms
я пробовал делать таймер по другому:
new java.util.Timer().schedule(new TimerTask(){
@Override
public void run() {Selenide.refresh();}
},1000*2,1000*2);
но все так же, но вылетала другая ошибка
ноя 02, 2019 1:15:20 PM com.codeborne.selenide.drivercommands.LazyDriver getAndCheckWebDriver
INFO: No webdriver is bound to current thread: 1 - let's create a new webdriver
Starting ChromeDriver 78.0.3904.70 (edb9c9f3de0247fd912a77b7f6cae7447f6d3ad5-refs/branch-heads/3904@{#800}) on port 31135
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
ноя 02, 2019 1:15:24 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
ноя 02, 2019 1:15:24 PM com.codeborne.selenide.webdriver.BrowserResizer adjustBrowserSize
INFO: Set browser size to 1366x768
ноя 02, 2019 1:15:25 PM com.codeborne.selenide.webdriver.BrowserResizer adjustBrowserPosition
INFO: Set browser position to 5000x5000
ноя 02, 2019 1:15:25 PM com.codeborne.selenide.webdriver.WebDriverFactory logBrowserVersion
INFO: BrowserName=chrome Version=78.0.3904.87 Platform=XP
ноя 02, 2019 1:15:25 PM com.codeborne.selenide.webdriver.WebDriverFactory createWebDriver
INFO: Selenide v. 5.3.1
ноя 02, 2019 1:15:25 PM com.codeborne.selenide.webdriver.WebDriverFactory logSeleniumInfo
INFO: Selenium WebDriver v. 3.141.59 build time: 2018-11-14T08:25:48
ноя 02, 2019 1:15:25 PM com.codeborne.selenide.drivercommands.CreateDriverCommand createDriver
INFO: Create webdriver in current thread 1: ChromeDriver -> ChromeDriver: chrome on XP (78cde372477ed6c94ffd830bf02ffa8f)
Exception in thread "Timer-0" java.lang.IllegalStateException: No webdriver is bound to current thread: 20. You need to call open(url) first.
at com.codeborne.selenide.drivercommands.LazyDriver.getWebDriver(LazyDriver.java:67)
at com.codeborne.selenide.drivercommands.Navigator.refresh(Navigator.java:171)
at com.codeborne.selenide.SelenideDriver.refresh(SelenideDriver.java:114)
at com.codeborne.selenide.Selenide.refresh(Selenide.java:174)
at TestAll.Selend$1.run(Selend.java:41)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
ноя 02, 2019 1:15:37 PM com.codeborne.selenide.impl.UnusedWebdriversCleanupThread closeUnusedWebdrivers
INFO: Thread 20 is dead. Let's close webdriver com.codeborne.selenide.SelenideDriver@219a0906
ноя 02, 2019 1:15:40 PM com.codeborne.selenide.impl.UnusedWebdriversCleanupThread closeUnusedWebdrivers
INFO: Thread 1 is dead. Let's close webdriver com.codeborne.selenide.SelenideDriver@6e60e97e
ноя 02, 2019 1:15:40 PM com.codeborne.selenide.drivercommands.CloseDriverCommand run
INFO: Close webdriver: 10 -> ChromeDriver: chrome on XP (78cde372477ed6c94ffd830bf02ffa8f)
Ох, жесть...
Селенид открывает отдельный браузер на каждый поток - для параллельного запуска тестов. ScheduledExecutorService запускает ваш Runnable в новом потоке. Поэтому команда Selenide.refresh(), запущенная в отдельном потоке, открывает новый браузер, а не рефрешит существующий.
Может, вы лучше скажите, чего хотите добиться? По-моему, ScheduledExecutorService там не нужен.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перешел из комментариев сюдаВы забыли очень важный момент
У меня в phpMyAdmin вместо русских букв в таблице отображаются знаки вопросаЯ понимаю, что это проблемы с кодировкой, но не могу перекодировать...
Можете пожалуйста помочь, напишите что у меня не такЯ хочу что бы статьи были слева, а комментарии справа, но ничего не работает