Klicken Sie auf den Link arbeiten in der Selenium Ide, aber nicht in der Webdriver
Teste ich ein Szenario für den Standort "https://www.freecrm.com/index.html"
Anmeldeinformationen [ john2013 /john2013 ]
Scenario :
1 open the site https://www.freecrm.com/index.html
2 login with valid credentials
3 click on the "New Contacts" link
4 Add new contacts
Verwendung von Selenium ide bin ich in der Lage, um sich anzumelden und klicken Sie auf "Neuer Kontakt" - link , aber wenn ich versuche das gleiche zu tun, mit Webdriver [ java] ich bin nicht in der Lage, klicken Sie auf "Neuer Kontakt" - link
den code, den ich geschrieben habe, ist unten gegeben
driver.findElement(By.name("username")).clear()
driver.findElement(By.name("username")).sendKeys("john2013");
driver.findElement(By.name("password")).clear();
driver.findElement(By.name("password")).sendKeys("john2013");
driver.findElement(By.cssSelector("input[type=\"image\"]")).click();
Den code bis zu der oben genannten ist in Ordnung, aber Sie auf die Schaltfläche "Neuer Kontakt" - link
driver.findElement(By.xpath("//div[@class='noprint']/span[@class='headertext']/a[3]/")).click();
nicht arbeiten, obwohl die gleiche xpath arbeitet im IDE.
habe ich versucht mit der erwarteten Bedingung, option , schlafen, aber nichts funktioniert.
kann einer mir helfen in dieser Hinsicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, dass auf Ihrer Seite verwendet ein frameset. Sie sollten: informieren Sie Ihren webdriver, welcher frame zu verwenden, wenn Sie suchen für Ihr element. Also versuchen Sie dies:
driver.switchTo().frame("mainpanel");
, nichtwindow
nehme ich an. 2. OP ' s XPath ist falsch, aber//*[text()='New Contact']
wahrscheinlich nicht die beste (mit Hilfe von XPath ist langsamer, mit text von der Sprache ab). Es findenhref
mit XPath/CssSelector wäre besser.By.cssSelector(".navlink[href*='action=contact&sub=load']")
Ändern Sie bitte die xpath-link auf
Incase, wenn Sie die gleichen text-link ist bereits vorhanden, in einigen teilen o die Seite, die wir fortsetzen können vorkommen. Beispiel, wenn es wiederholt sich die zweite Zeit:
Wenn das Nichts arbeitet, der beste Weg ist durch java script executor.
Erstmal das webelement link.
Dann den folgenden code verwenden"
webelement=Treiber.findElement(by.xpath("=//a[contains(text(),")]
"))
(JavaScriptExecutor)Treiber.executescript("Arguments[0].klicken Sie();",webelement)
Eigentlich Sprechen //div[@class='noprint']/span[@class='headertext']/a[3]/ist absoluter XPath.
als es endet mit einer[3] die position variieren immer, so ist es ratsam, die relative XPath/CSS -
Vorgeschlagen, CSS:css=.noprint > .headertext - > ein.classname
Andere Vorgeschlagene CSS: css=.noprint > .headertext - > a[Attribut='Wert']
So können wir die oben genannten format.