2017-12-30 43 views
0

Ich bin neu in Selen, nicht auf das Bild namens "Register" klicken, die in angehängten Screenshot hervorgehoben ist.Kann jemand mich wissen lassen, warum das Web-Element zur Laufzeit nicht identifiziert wird und was kann getan werden, um es zu identifizieren und darauf zu klicken?Klicken Sie auf ein Bild mit Selen WebDriver

import java.io.FileInputStream; 
import java.io.IOException;  
import jxl.Sheet; 
import jxl.Workbook; 
import jxl.read.biff.BiffException;  
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.support.ui.ExpectedConditions; 
import org.testng.annotations.Test; 

public class Registration { 

    public WebDriver driver1; 
    public String exepath="C:\\Users\\ADMIN\\Downloads\\chromedriver.exe"; 
    public String filepath="C:\\Users\\ADMIN\\Desktop\\Book1tetsts.xls"; 
    public FileInputStream file; 
    public String userID; 
    public String password; 
    public String Fname; 
    public String Lname; 
    private Object wait; 

    @Test 
    void formfilling() throws BiffException, IOException, InterruptedException 
    { 
     file = new FileInputStream(filepath); 
     Workbook wb = Workbook.getWorkbook(file); 
     Sheet sh = wb.getSheet(0); // this is to get the access to Sheet1. 
     userID= sh.getCell(0,0).getContents(); 
     password= sh.getCell(1,0).getContents(); 
     Fname= sh.getCell(2,0).getContents(); 
     Lname=sh.getCell(3,0).getContents(); 

     System.setProperty("webdriver.chrome.driver", exepath); 
     driver1= new ChromeDriver();   
     driver1.get("http://www.esevaonline.telangana.gov.in"); 
     synchronized (driver1) { 
      driver1.wait(15000); 
     }  

     driver1.findElement(By.xpath("//*[@id='lhsNav']/a/img[@src='images/register2.gif']")).click(); 
     //UserID 
     driver1.findElement(By.xpath("/html/body/center/form/table/tbody/tr[2]/td/div/center/table/tbody/tr[1]/td[2]/input")).sendKeys(userID); 
     //Password 
     driver1.findElement(By.xpath("/html/body/center/form/table/tbody/tr[2]/td/div/center/table/tbody/tr[2]/td[2]/input")).sendKeys(password); 
     //Re-Type Password 
     driver1.findElement(By.xpath("/html/body/center/form/table/tbody/tr[2]/td/div/center/table/tbody/tr[3]/td[2]/input")).sendKeys(password); 
     driver1.findElement(By.xpath("/html/body/center/form/table/tbody/tr[2]/td/div/center/table/tbody/tr[5]/td[2]/input")).sendKeys(Fname); 
     //LastName 
     driver1.findElement(By.xpath("/html/body/center/form/table/tbody/tr[2]/td/div/center/table/tbody/tr[6]/td[2]/input")).sendKeys(Lname); 
     //DOB 


    } 
} 

Screenshot

+0

Wenn u wollen auf das Bild klicken mns mit u mit skilui anderen Schalter versuchen können und – Gobi

Antwort

1

Die gegebene "Register" img ist innerhalb des Rahmens. So müssen Sie Frame zuerst dann jedes Ereignis auf Webelement, die in diesem Rahmen sind.

Bitte fügen Sie die folgende Codezeile in Ihrem Code hinzu.

 driver1.switchTo().frame("mainFrame"); // switch frame 

     driver1.findElement(By.xpath("//*[@id='lhsNav']/a/img[@src='images/register2.gif']")).click(); 
     //UserID 

// other operation 

Hope this help you :)

+0

klicken einzurahmen @swathi Hilfe es –

+0

Thank akzeptieren Sie bitte die Antwort, so dass andere können erhalten dir sehr für deine Hilfe !! :) es funktioniert jetzt gut. Kannst du mich bitte wissen lassen, wie man erkennt, wenn ein Element im Rahmen ist? –

+0

Ja, Sie müssen nur den HTML-Code dieser Webseite überprüfen. Wenn Sie sehen, dass irgendein Webelement innerhalb eines oder oder