我有一个电子商务网站,并且在一页上有一个名为 Place Order 的按钮。当我单击下订单按钮时,它使我可以打开一个名为 Paypal 的新窗口。我需要保持相同的选项卡而不打开新窗口。之后,我需要单击该 Paypal 页面的元素。 我怎样才能做到这一点?
我的代码如下:
String parent_handle= driver.getWindowHandle();
System.out.println(parent_handle);
driver.findElement(By.xpath(".//*[@id='co-place-order-area']/div[2]/div[3]/div/button")).click();
new WebDriverWait(driver,10).until(ExpectedConditions.numberOfWindowsToBe(1));
Set<String> handles = driver.getWindowHandles();
System.out.println(handles);
for(String handle1:handles)
if(!parent_handle.equals(handle1))
{
driver.switchTo().window(handle1);
System.out.println(handle1);
}
答案 0 :(得分:0)
我不了解Java,但是在C#中,您将使用PopupWindowFinder类
var target = driver.findElement(By.xpath(".//*[@id='co-place-order-area']/div[2]/div[3]/div/button"));
PopupWindowFinder finder = new PopupWindowFinder(driver);
var parent = driver.CurrentWindowHandle;
string newHandle = finder.Click(target);
driver.SwitchTo().Window(newHandle);
然后在处理新窗口后,您可以切换回父窗口。