PhantomJS点击链接不起作用

本文关键字:不起作用 链接 PhantomJS | 更新日期: 2023-09-27 18:27:56

我正在尝试使用以下代码获取黄页结果的第二页的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。

其他页面工作正常。我现在只在黄页上遇到问题。

有什么想法吗?

PhantomJS点击链接不起作用

尝试使用此方法来点击web元素,而不是使用click():

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].click();", next);

确保您已经打开控制台输出,这样您就可以看到确切的错误:

service.HideCommandPromptWindow = true;

我也遇到过类似的问题,当我打开控制台输出时,我注意到以下错误:"找不到变量:__doPostBack"。

在我的案例中,那是因为网站拒绝了Phantom的用户代理,所以我不得不更改它(基于这个答案)。