Selenium webdriver cliquez sur recherche google
Je suis à la recherche de texte "Cheese!" sur la page d'accueil de google et ne savent pas comment je peux cliquer sur la recherche des liens après avoir appuyé sur le bouton de recherche. Par exemple, j'ai voulu cliquer sur le lien troisième à partir du haut sur la page de recherche, alors comment puis-je trouver identifier le lien et cliquez sur. Mon code pour l'instant:
package mypackage;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
public class myclass {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\\selenium-java-2.35.0\\chromedriver_win32_2.2\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("Cheese!");
element.submit();
//driver.close();
}
}
OriginalL'auteur min2bro | 2013-08-22
Vous devez vous connecter pour publier un commentaire.
Google réduit leurs classes css etc., donc, il n'est pas facile d'identifier tout.
Aussi, vous avez le problème que vous avez à "attendre" jusqu'à ce que le site montre le résultat.
Je voudrais faire comme ceci:
Cela permettra d'imprimer vous:
OriginalL'auteur d0x
Il y aurait plusieurs façons de trouver un élément (dans votre cas, le troisième résultat de Recherche de Google).
L'un des moyens serait d'utiliser Xpath
Les autres options sont
Pour mieux comprendre chacun d'eux, vous devriez essayer d'apprendre le Sélénium sur quelque chose de plus simple que la Recherche Google, la page de Résultat.
Exemple - http://www.google.com/intl/gu/contact/
Pour Interagir avec le champ de saisie de Texte avec l'espace réservé "Comment pouvons-nous aider? Demander ici." Vous pourriez faire de cette façon -
OriginalL'auteur Amey
Basé sur une inspection rapide de google web, ce serait CSS chemin de liens dans la page liste
ol[id="rso"] h3[class="r"] a
De sorte que vous devriez faire quelque chose comme
Cependant, vous pourriez aussi utiliser
xpath
qui n'est pas vraiment recommandé et aussi JQuery locators, mais je ne suis pas sûr si vous pouvez les utiliser aynywhere d'autre, sauf dansArquillian GraphèneDésolé, c'est
cssSelector
, j'ai édité ma réponseOriginalL'auteur Petr Mensik
OriginalL'auteur Mahesh Sutar
Xpath Simple pour localiser la boîte de recherche Google est:
Xpath=//span[text()='Google Search']
OriginalL'auteur Anand
OriginalL'auteur Anand
La plupart des réponses sur cette page sont obsolètes.
Voici une mise à jour de version de python à la recherche google et d'obtenir tous les résultats href:
Veuillez noter que l'élément
id
/name
/class
(@class='r'
) ** va changer en fonction de l'agent de l'utilisateur**.Le code ci-dessus utilisé PhantomJS par défaut de l'agent utilisateur.
OriginalL'auteur Pedro Lobito