2017-04-04 93 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