Java 无法单击新窗口上的“签出”按钮

Java 无法单击新窗口上的“签出”按钮,java,selenium,iframe,Java,Selenium,Iframe,我有一个奇怪的问题。当我从电子商务网站退房时,我会得到一个iframe。我能用它来处理iFrame driver.switchTo().frame(0); 在该iframe之后,会出现另一个窗口。这不是一个iFrame。我试过窗户把手,但到目前为止还没用。似乎无法单击“签出”按钮 String parentWindowHandler = driver.getWindowHandle(); String subWindowHandler = null; Set<String> h

我有一个奇怪的问题。当我从电子商务网站退房时,我会得到一个iframe。我能用它来处理iFrame

driver.switchTo().frame(0);
在该iframe之后,会出现另一个窗口。这不是一个iFrame。我试过窗户把手,但到目前为止还没用。似乎无法单击“签出”按钮

String parentWindowHandler = driver.getWindowHandle(); 
String subWindowHandler = null;

Set<String> handles = driver.getWindowHandles();
Iterator<String> iterator = handles.iterator();
while (iterator.hasNext()){
    subWindowHandler = iterator.next();
    driver.switchTo().window(subWindowHandler); 
    driver.findElement(By.xpath(".//*[@id='layer_cart']/div[1]/div[2]/div[4]/a/span")).click();

}

driver.switchTo().window(parentWindowHandler); 
String parentWindowHandler=driver.getWindowHandle();
字符串子窗口处理程序=null;
Set handles=driver.getWindowHandles();
迭代器迭代器=handles.Iterator();
while(iterator.hasNext()){
subWindowHandler=iterator.next();
driver.switchTo().window(子WindowHandler);
driver.findelelement(By.xpath(“./*[@id='layer\u cart']/div[1]/div[2]/div[4]/a/span”)。单击();
}
driver.switchTo().window(parentWindowHandler);
这是HTML代码,希望对您有所帮助:

<div class="button-container">
<span class="continue btn btn-default button exclusive-medium" title="Continue shopping">
**<a class="btn btn-default button button-medium" href="http://website.com/index.php?controller=order" title="Proceed to checkout" rel="nofollow">
<span>
Proceed to checkout
<i class="icon-chevron-right right"></i>
</span>
</a>**
</div>

****

切换到您可以使用的默认帧

driver.switchTo().defaultContent();
你最好不要使用这样的定位器,因为div可以随时被替换,你的定位器就会失效:“./*[@id='layer\u cart']]/div[1]/div[2]/div[4]/a/span”


尝试类似于
“/*[@title='Continue shopping']”

它实际上在另一个窗口中,而不是defaultContent();字符串句柄=driver.getWindowHandle();系统输出打印LN(手柄);driver.switchTo().窗口(手柄);driver.findElement(By.cssSelector(“.btn.btn default.button.button medium>span”)。单击();如果有帮助,每次打印窗口(句柄)时,我都会得到一个动态键:“CDwindow-ead01658-325c-4ce7-a761-951f874a7e0c”我还尝试了以下操作:字符串句柄=driver.getWindowHandle();系统输出打印LN(手柄);driver.switchTo().窗口(手柄);driver.findElement(By.cssSelector(“.btn.btn default.button.button medium>span”)。单击();您收到的错误是什么?未找到元素[…]如果可能,请共享URL亲爱的kushal,我认为公开共享链接不是一个好主意。有没有办法发送消息?还是电子邮件?我的电子邮件是faihasan77@gmail.com