Selenium 和 PhantomJS 分别需要 30 秒才能打开 link
Selenium and PhantomJS takes 30 seconds to open each link
我正在尝试打开一个网站并使用 Selenium 和 PhantomJS 获取一些数据,但是打开一个网站需要很长时间(大约 30 秒)。每次我打开其他 link 时,我都必须等待 30+ 秒。我的代码有什么问题?
static void Main(string[] args)
{
IWebDriver browser = new PhantomJSDriver();
var URL = "http://www.cbssports.com/nba/playerrankings ";
browser.Navigate().GoToUrl(URL);
//Position
var title = browser.FindElements(By.CssSelector(".tableTitle"));
Console.WriteLine(title.First().Text);
Console.Read();
}
我尝试过的事情:
1.Set PhantomJS proxy type to none
2.Disable internet option: automatically detect settings
3.Disable IPv6 protocol
PhantomJS release notes 声称,Microsoft Windows 上的网络性能存在一些已知问题。根据发行说明,解决方案是将代理类型设置为 none,但这不起作用。
Selenium 的默认超时为 30 秒。您正在使用 browser.FindElements()
(复数形式),它将等待整整 30 秒再继续!
您可以使用 browser.manage().timeouts().implicitlyWait()
减少超时,或者您可以使用显式超时。
您必须等待 30 秒,因为您没有定义默认的超时 30 秒。您应该使用此预定义的驱动程序服务。
var phantomJSDriverService = PhantomJSDriverService.CreateDefaultService();
IWebDriver browser = new PhantomJSDriver(phantomJSDriverService);
browser.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(0));
我正在尝试打开一个网站并使用 Selenium 和 PhantomJS 获取一些数据,但是打开一个网站需要很长时间(大约 30 秒)。每次我打开其他 link 时,我都必须等待 30+ 秒。我的代码有什么问题?
static void Main(string[] args)
{
IWebDriver browser = new PhantomJSDriver();
var URL = "http://www.cbssports.com/nba/playerrankings ";
browser.Navigate().GoToUrl(URL);
//Position
var title = browser.FindElements(By.CssSelector(".tableTitle"));
Console.WriteLine(title.First().Text);
Console.Read();
}
我尝试过的事情:
1.Set PhantomJS proxy type to none
2.Disable internet option: automatically detect settings
3.Disable IPv6 protocol
PhantomJS release notes 声称,Microsoft Windows 上的网络性能存在一些已知问题。根据发行说明,解决方案是将代理类型设置为 none,但这不起作用。
Selenium 的默认超时为 30 秒。您正在使用 browser.FindElements()
(复数形式),它将等待整整 30 秒再继续!
您可以使用 browser.manage().timeouts().implicitlyWait()
减少超时,或者您可以使用显式超时。
您必须等待 30 秒,因为您没有定义默认的超时 30 秒。您应该使用此预定义的驱动程序服务。
var phantomJSDriverService = PhantomJSDriverService.CreateDefaultService();
IWebDriver browser = new PhantomJSDriver(phantomJSDriverService);
browser.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(0));