Selenium 无法单击银行网上银行网站中的对象
下面是网站页面 我正在尝试单击“继续网上银行”按钮。但我无法做到这一点。我使用了Selenium 无法单击银行网上银行网站中的对象,selenium,selenium-webdriver,Selenium,Selenium Webdriver,下面是网站页面 我正在尝试单击“继续网上银行”按钮。但我无法做到这一点。我使用了xpath,但它不起作用。下面是我尝试过的xpath: driver.findElement(By.xpath(".//*[@id='wrapper']/div[6]/a/img")).click(); 步骤: 打开URl 点击网站上的登录按钮。新弹出窗口将打开 点击“继续网上银行”。这不起作用 以下是代码: driver.findElement(By.id("loginsubmit")).click();
xpath
,但它不起作用。下面是我尝试过的xpath
:
driver.findElement(By.xpath(".//*[@id='wrapper']/div[6]/a/img")).click();
步骤:
driver.findElement(By.id("loginsubmit")).click();
Thread.sleep(3000);
Set<String> set = driver.getWindowHandles();
Iterator<String> it = set.iterator();
System.out.println(set.size());
for( String windowTab : set){
if(!windowTab.equalsIgnoreCase(MainWindow)){
driver.switchTo().window(it.next());
driver.manage().window().maximize();
String Wdinw2 = driver.getWindowHandle();
Thread.sleep(10000);
System.out.println(driver.getTitle());
driver.findElement(By.xpath(".//*[@id='wrapper']/div[6]/a/img")).click();
break;
}
}
driver.findElement(By.id(“loginsubmit”))。单击();
睡眠(3000);
Set=driver.getWindowHandles();
Iterator it=set.Iterator();
System.out.println(set.size());
用于(字符串窗口选项卡:设置){
如果(!windowTab.equalsIgnoreCase(主窗口)){
driver.switchTo().window(it.next());
driver.manage().window().maximize();
字符串Wdinw2=driver.getWindowHandle();
睡眠(10000);
System.out.println(driver.getTitle());
findelelement(By.xpath(“./*[@id='wrapper']/div[6]/a/img”)。单击();
打破
}
}
控制台:
线程“main”org.openqa.selenium.NoSuchElementException中的异常:
没有此类元素:无法定位元素:
{“方法”:“xpath”,“选择器”:“/*[@id='wrapper']/div[6]/a/img”}
尝试使用以下代码并让我知道结果:
String winHandleBefore = driver.getWindowHandle();
for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);}
WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("img[alt='continue']"))).click();
要切换回主窗口(如果需要):
我只是想知道在//*[@id='wrapper']之前是否有一个点,我想你必须先移动到另一个窗口,因为当点击登录按钮时,“继续上网银行”按钮会显示在另一个窗口中。然后用xpath元素试试。您是否处理了对弹出窗口的更改?假设您有权限对此银行网站执行自动化测试。金融网站,尤其是银行,对于任何自动访问都非常偏执。如果您想用xpath单击“contuie to NetBanking”按钮,请同意@andersson代码。你可以用这种方式<代码>(By.xpath(“//img[@src='/assets/images/netbanking\u continue\u red.gif']))。单击()代码>
driver.switchTo().window(winHandleBefore);