Я не уверен, как jQuery обрабатывает щелчки, но доступ к элементу через vanilla JS и «щелчок» он будет работать:
page.open('http://example.com/', function() {
page.evaluate(function() {
document.querySelector("a").click();
});
});
Ненадежно ждать произвольный период времени, лучше использовать обратный вызов, который запускает каждый раз, когда страница закончила загрузку:
page.onLoadFinished = function(){
// What page are we currently on?
var url = page.evaluate(function(){
return document.location.href;
});
console.log(url);
if(url.indexOf("iana") !== -1)
{
page.render('example.png');
phantom.exit();
}
}
Обязательное примечание о PhantomJS: если вы можете, подумайте о переходе на кукловод или любое другое современное безголовое решение, потому что PhantomJS уже очень устарел, и поддерживать скриптов будет все труднее и труднее будущее