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));