2017-04-04 51 views
0

我想下面的頁面無法使用硒

https://netbanking.hdfcbank.com/netbanking/

客戶ID傳遞任何價值,我不能夠使用硒網絡驅動程序的任何值發送給客戶ID。在這需要幫助。

我的代碼:

public class login { 
    static WebDriver driver; 
    public static void main(String[] args) { 
     driver= new FirefoxDriver(); 
     driver.get("netbanking.hdfcbank.com/netbanking/"); 
     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
     driver.findElement(By.xpath("html/body/form/table[2]/tbody‌ 
            ​/tr/td[2]/table/tbod‌​y/tr[1] 
            /td[1]/table/‌​tbody/tr[3]/td[2] 
            /ta‌​ble/tbody/tr[2]/td[2‌​]/span/input")) 
     .send‌​Keys("1234"); 
} 
} 
+0

你** **需要來發表您的代碼。 – Brian

+0

嗨,Brian,謝謝你的回覆! – SJR

+0

公共類登錄{ \t靜態WebDriver驅動程序; \t \t公共靜態無效的主要(字串[] args){ \t \t驅動=新FirefoxDriver(); \t \t driver.get(「https://netbanking.hdfcbank.com/netbanking/」); \t \t \t driver.manage()。timeouts()。implicitlyWait(10,TimeUnit.SECONDS);驅動程序的驅動程序可以通過驅動程序來驅動驅動程序。驅動程序可以通過驅動程序來驅動驅動程序。驅動程序可以使用驅動程序來驅動驅動程序。 /tbody/tr[3]/td[2]/table/tbody/tr[2]/td[2]/span/input")).sendKeys("1234" ); \t} } – SJR

回答

1

首先,您使用不會受到硒的瀏覽器很容易識別的URL。更改URL爲"https://netbanking.hdfcbank.com/netbanking/"

二,主頁面由2個Frameslogin_pagefooter組成。您對login_page框架感興趣,所以您需要將硒的焦點切換到該框架。

爲了將焦點切換到框架,driver.findElement()前加入這一行:

driver.switchTo().frame("login_page"); //frame() requires either the name or id of frame or it's index

三,而不是您目前擁有的XPath中,使用XPath "//input[@name='fldLoginUserId']"。這是短期和容易理解

工作液

driver.get("https://netbanking.hdfcbank.com/netbanking/");    
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
driver.switchTo().frame("login_page"); 
driver.findElement(By.xpath("//input[@name='fldLoginUserId']")).sendKeys("1234"); 
+0

Thankyou Jayesh!我也嘗試過框架概念,但仍然失敗。我沒有找到該頁面中的兩個框架。如果我錯了,請糾正我。 – SJR

+0

嘗試在頁面右側單擊右鍵,然後單擊查看頁面源 –

+0

明白了。謝謝 。 – SJR