2017-12-30 31 views
0

セレンを初めて使用しました。「登録」という名前の画像をクリックすることができません。添付されたscreenshot.Canの誰でも、Web要素がランタイムに識別されない理由を教えてくださいそれを特定してクリックするために何ができるのですか?Selenium 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

uはそれ – Gobi

答えて

1

IMGがフレーム内にある "登録" 与えられました。だからはフレームを最初に切り替え、そのフレームの中にあるwebelementのイベントを実行する必要があります。

以下のコード行をurコードで追加してください。

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

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

// other operation 

・ホープ、このヘルプあなた:)

+0

をクリックしskilui他のスイッチで試すことができますuは画像MNSを使用してクリックしたい場合あなたの助けをあなたに非常に! :)それは今すぐうまくいきます。要素がフレーム内にいつ存在するのかをわたしに知らせることができますか? –

+0

感謝からの助けを得ることができます@swathiので、他の答えを受け入れてくださいフレームと –

+0

はい、ちょうどそのウェブページのHTMLコードをチェックする必要があります。もし任意のweb要素がまたはまたは