PhantomJS cliquez sur un lien sur une page
J'ai écrit quelques pièces de PhantomJS application. Je suis d'analyse sur un site web où j'écris nom d'utilisateur et mot de passe dans un formulaire. Après cela, j'ai cliquer sur un lien. Alors que je reçois cette erreur:
TypeError: 'undefined' is not a function (evaluating 'myLink.click()')
phantomjs://webpage.evaluate():11
phantomjs://webpage.evaluate():22
phantomjs://webpage.evaluate():22
C'est mon PhantomJS code:
if(document.getElementById("m_Content_submitbtn2").getAttribute('data-role') == "button"){
var myLink = document.getElementById("m_Content_submitbtn2");
myLink.click();
}
Et c'est mon lien:
<div class='button'><a href="#" data-role="button" tabindex='0' onclick='WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("m$Content$submitbtn2", "", true, "", "", false, true)); return false;' id="m_Content_submitbtn2">Log ind</a></div>
double possible de PhantomJS; cliquez sur un élément
OriginalL'auteur mikkeljuhl | 2012-11-23
Vous devez vous connecter pour publier un commentaire.
Vous tentez d'utiliser la
click()
méthode sur un<a>
élément qui n'est pas pris en charge dans tous les navigateurs par défaut. Au lieu d'essayer d'utiliser quelque chose comme cette où, au lieu demyLink.click();
, vous aurez à faireeventFire(myLink, 'click');
.Ne pas voir qu'il y avait un lien. Désolé.
de l'aide. en essayant de l'utiliser dans phantomjs et l'obtention d'erreur de référence, peu importe quoi.
Merci beaucoup, c'est ce que je cherchais
OriginalL'auteur Martijn Hols
Ou inclure jQuery et faire quelque chose comme:
page.includeJS
fonctionne correctement, mais j'obtiens unReferenceError: Can't find variable: $
après....ok, j'ai besoin de passer à
document
contexte de la page avecpage.evaluate
de toute façon. À ce stade, il obtenir le$
mais la navigation ne se produit pas - je n'ai pas le rappel dansonNavigationRequested
OriginalL'auteur two7s_clash