【发布时间】:2014-10-26 11:46:00
【问题描述】:
我正在尝试使用以下代码获取黄页结果第二页的 URL:
var driverService = PhantomJSDriverService.CreateDefaultService();
var driver = new PhantomJSDriver(driverService);
driver.Navigate().GoToUrl(new Uri("http://www.yellowpages.com/los-angeles-ca/pizza?g=Los+Angeles%2C+CA"));
string url = driver.Url;
var next = driver.FindElementByCssSelector(".next");
next.Click();
string newUrl = driver.Url;
找到并单击了“下一个”链接,但在调用next.Click() 后我没有得到新的 URL。
其他页面工作正常。我现在只是在黄页上遇到问题。
有什么想法吗?
【问题讨论】:
-
您可能需要等待,因为按钮会触发 ajax 请求,然后才会加载下一页。
-
我试图像这个线程stackoverflow.com/a/25745256/1718124 中提到的那样等待,但没有成功。网址没有改变。
-
在将其传递给驱动程序之前尝试设置
driverService.SslProtocol = "tlsv1";。你可以试试有没有等待?查看来源:stackoverflow.com/a/26565942/1816580 -
行得通!即使没有等待扩展。谢谢!
-
@StasS 你是说原因吗?由于 POODLE,一些站点从其服务器中删除了 SSLv3。因此,PhantomJS ssl 协议应设置为 TLSv1,以便加载这些站点。但这从链接的答案中应该很清楚。
标签: c# selenium-webdriver phantomjs