es wartet auf das Element btnSearch angezeigt werden und klicken Sie darauf, aber es scheint nicht zu tun, haben Sie eine Idee, warum es passiert?Selenium webdriver wait element und klicken Sie
Dank
es wartet auf das Element btnSearch angezeigt werden und klicken Sie darauf, aber es scheint nicht zu tun, haben Sie eine Idee, warum es passiert?Selenium webdriver wait element und klicken Sie
Dank
Dies fügt USA als locale, und wartet dann, bis ein Bild des Arztes angezeigt wird.
driver.get("http://www.wiki-doctor.com");
//Enter united states into field
driver.findElement(By.id("field-findDoctor-town")).sendKeys("United States");
WebElement element = (new WebDriverWait(driver, 10))
.until(ExpectedConditions.elementToBeClickable(By.id("btnSearch")));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);
WebDriverWait wait = new WebDriverWait(driver,10);
//Wait for picture of doctor
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#dvparcticianlist > div.row > div > div.listing-row > div.doc-photo-container")));
System.out.println("Search Successful");
}
Hallo, Reezo, eine Frage in Bezug auf das Argument [0], was ist das? Woher kommt dieses Objekt? cheers – dtjmsy
Überprüfen Sie die Definition von Selenium ExecuteScript Seite Die Argumente werden für das JavaScript über die magische Variable "Argumente" zur Verfügung gestellt, als ob die Funktion über "Function.apply" aufgerufen wurde und der Rückgabewert von executeScript ist: Rückgabewerte: Boolesch, Long, String, List oder WebElement. Oder null. was bedeutet, dass zurückgegebene Objekt ist eine Liste, und Sie können mit Argumenten [0] magische Variable interagieren. – Reezo
ok danke an alle :) – dtjmsy
Sobald die Seite geladen ist, zuerst müssen wir wait
für den beabsichtigten WebElement
das heißt die erste Search Box
anklickbar sein. Dann werden wir einen Text sowohl auf die Search Boxes
und rufen Sie dann click()
Methode auf dem Search Button
senden wie folgt:
System.setProperty("webdriver.ie.driver", "C:\\Utility\\BrowserDrivers\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
driver.get("http://www.wiki-doctor.com");
WebElement locality = (new WebDriverWait(driver, 5))
.until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@id='field-findDoctor-town']")));
locality.sendKeys("Pune");
driver.findElement(By.xpath("//input[@id='speciality']")).sendKeys("Doctor");
driver.findElement(By.xpath("//button[@id='btnSearch']")).click();
Ich habe versucht, Ihren Code und immer noch nichts passiert, auch die Suchbox ist nicht gefüllt, es ist wie die IDs nie gefunden – dtjmsy
Ich denke, es gibt etwas mit meiner Internet Explorer - Version und dem Download - Treiber zu tun, da die Codes ziemlich gut funktioniert in chrome – dtjmsy
Überprüfen Sie meine aktualisierte Antwort und lassen Sie mich wissen, den Status – DebanjanB
Welchen Browser benutzen Sie? Wenn ich Ihren Code über Chrome austrage, erhalte ich die Warnung "Bitte Adresse eingeben". – Reezo
Ich verwende Internet Explorer – dtjmsy
String service = "C: \\ ToolsQA \\ IEDriverServer_x64_3.7.0 \\ IEDriverServer.exe"; \t \t System.setProperty ("webdriver.ie.driver", Dienst); \t \t InternetExplorerDriver-Treiber = neu InternetExplorerDriver(); – dtjmsy