Я пытаюсь загрузить веб-страницу с помощью Selenium WebDriver (драйвера Firefox). Поскольку страница загружается динамически с помощью javascript, мой код выполняет некоторый javascript после начальной загрузки страницы для загрузки содержимого. Проблема в том, что WebDriver отключается через несколько минут, и мне нужно как минимум 10 минут, чтобы загрузить весь контент. Есть ли способ сделать это?ASP.NET MVC-Selenium Webdriver сбрасывает время на сервере Appharbor
Это мой код:
string firefoxBinaryPath = HttpContext.Current.Server.MapPath("~/lib/mozilla firefox/firefox.exe");
FirefoxBinary binary = new FirefoxBinary(firefoxBinaryPath);
IWebDriver driver = new FirefoxDriver(binary, null, TimeSpan.FromMinutes(3));
driver.Navigate().GoToUrl(url);
List<IWebElement> listOfDomElements = new List<IWebElement>();
Thread.Sleep(5000);
do
{
for (int second = 0; ; second++)
{
if (second >= 12)
{
break;
}
((IJavaScriptExecutor)driver).ExecuteScript("window.scrollBy(0,750)", "");//this is where it's timing out (line 103)
Thread.Sleep(1000);
}
...additional lines
...additional lines
Это StackTrace и ошибки я получаю:
Источник: WebDriver;
Сообщение: HTTP-запрос на удаленный сервер WebDriver для URL http://localhost:7058/hub/session/7c64141c-1792-4175-a5f6-5304d911b4da/execute истекает через 180 секунд .;
StackTrace: в OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse (WebRequest запрос) в OpenQA.Selenium.Remote.HttpCommandExecutor.Execute (Command commandToExecute) в OpenQA.Selenium.Firefox.FirefoxDriverCommandExecutor.Execute (Command commandToExecute) в OpenQA.Selenium.Remote.RemoteWebDriver.Execute (параметры String driverCommandToExecute, Dictionary`2) в OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteScriptCommand (скрипт String, имя_инструмента, объект [] args) at OpenQA.Selenium.Remote.RemoteWebDriver .ExecuteScript (String script, Object [] args) at Amazon_Top_Products_Comparer.ParseMainStaplesDeals.ParseDom (String url) в d: \ temp \ npe0b3yh.ixi \ input \ Amazon Top Products Comparer \ ParseMainStaplesDeals.cs: строка 103 в Amazon_Top_Products_Comparer.Controllers.HomeController.List (строка категории) в D: \ Temp \ npe0b3yh.ixi \ вход \ Amazon Лучшие продукты Comparer \ Контроллеры \ HomeController.cs: линия 84
Проблема в том, что я загружаю страницу, на которой у меня нет способа узнать, сколько элементов есть. Мне нужно нажать «Загрузить больше элементов», пока кнопка не будет отключена. – spooky123
Можно ли одновременно нажать эту кнопку? что-то вроде бесконечного свитка ??? – hari6
Он имеет тот же идентификатор – spooky123