Selenium 2.0 не догружается страница
#1
Отправлено 30 июля 2012 - 09:40
Столкнулся с проблемой :
При попытке поделиться ссылкой вручную(не через Selenium 2.0 все происходит без проблем),
при попытке сделать SHARE через Selenium 2.0 не догружает страницу, обновление страницы через Selenium не помогает.
Прикладываю два скриншота, чтоб было понятней. Как есть: 012.png 411,74К 84 Количество загрузок: Как должно быть: 013.png 346,67К 77 Количество загрузок:
#2
Отправлено 30 июля 2012 - 11:17
WebDriver driver; driver = new ChromeDriver(); driver.get(url); WebElement elementLinkinVK = driver.findElement(By.xpath("//*[@id=\"main\"]/article/section/article/div[4]/div[2]/div[4]/a")); elementLinkinVK.click(); Set<String> handles = driver.getWindowHandles(); for (String handl : handles) { driver.switchTo().window(handl); } WebElement frame = driver.findElement(By.tagName("iframe")); driver.switchTo().frame(frame); WebElement elUsername; elUsername = driver.findElement(By.xpath("//*[@id=\"email\"]")); elUsername.sendKeys(_username); WebElement elPassword; elPassword = driver.findElement(By.xpath("//*[@id=\"pass\"]")); elPassword.sendKeys(_password); WebElement elSubmit; elSubmit = driver.findElement(By.xpath("//*[@id=\"vkontakte\"]/body/div[6]/ul/li[1]/span/a")); elSubmit.click(); elSubmit = driver.findElement(By.xpath("//*[@id=\"share_comment\"]")); elSubmit.sendKeys("aa"); sleep(3000); System.out.println(driver.getPageSource()); sleep(1000);
#3
Отправлено 30 июля 2012 - 12:20
while (driver.findElement(By.xpath("//*[@id=\"share_comment\"]"))!= true) { sleep (1000); или Thread.sleep(1000); }
#4
Отправлено 30 июля 2012 - 12:24
Sleep :как вариант - поставить слип не 3000, а очень много и дождаться этой картинки (и чего там должно быть). А вообще - слип - не очень хорошая практика. Можно использовать что-то
while (driver.findElement(By.xpath("//*[@id=\"share_comment\"]"))!= true) { sleep (1000); или Thread.sleep(1000); }
private void sleep(long i) { try { Thread.sleep(i); } catch (InterruptedException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } }
Но на самом деле дело не в нем. Хоть 10 лет поставить страница не загружается до конца.
Возможно у Вас есть какие нибудь еще идеи? Было бы очень здорово)
#5
Отправлено 30 июля 2012 - 12:37
#6
Отправлено 31 июля 2012 - 06:40
Вопрос актуален
#7
Отправлено 06 августа 2012 - 10:28
Вопрос до сих пор актуален
Поддержка вк.ком сказала, что возможно Selenium 2.0 не имеет возможности догружать JS.
Есть ли у кого-нибудь идеи по этому поводу?
#8
Отправлено 06 августа 2012 - 11:30
#9
Отправлено 21 августа 2012 - 12:40
Попробвал запускать не из фаирфокса, а искользовать драйвер Хрома - заработало, в хроме у меня догружается.
#10
Отправлено 31 августа 2012 - 10:21
Судя по коду, тут и так используется хром.искользовать драйвер Хрома
Я бы попробовал логировать запросы на сервер и ответы от сервера с помощью прокси и сравнить. Например, пользовался функцией логирования у WebScarab и the Proxomitron.
Это, кстати, поможет проверить заявление
хотя оно выглядит крайне сомнительным.что возможно Selenium 2.0 не имеет возможности догружать JS
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных