selenium怎么从一个页面返回到主页在进入另一个frame

在Selenium中,要从一个页面返回到主页,

可以使用driver.switch_to.default_content()方法来切换回主页的上下文(context)。

然后,如果需要进入另一个frame,可以使用driver.switch_to.frame()方法。

以下是一个简单的代码示例:

from selenium import webdriver

# 假设driver是已经初始化的WebDriver对象

driver.get("http://www.example.com") # 访问主页

# 假设你现在在一个iframe中

driver.switch_to.frame("iframe_id") # 进入iframe

# 做一些操作...

# 返回主页上下文

driver.switch_to.default_content()

# 现在如果你想进入另一个frame

driver.switch_to.frame("another_iframe_id") # 进入另一个iframe

# 做一些操作...

# 最后,如果需要返回主页上下文

driver.switch_to.default_content()

在这个例子中,首先通过driver.switch_to.frame()进入了一个名为"iframe_id"的iframe。完成操作后,使用driver.switch_to.default_content()返回到主页的上下文。随后又通过driver.switch_to.frame()进入了另一个名为"another_iframe_id"的iframe。在完成最后的操作后,再次使用driver.switch_to.default_content()返回到主页上下文。

用参数的值来定位frame元素

@FindBy(how = How.XPATH, using = "//frame[contains(@scrolling,'auto')]")
private List<WebElement> transferFrameList;

@SneakyThrows
public void approvedRequestFromAuthorise(String screenShotName){
    Thread.sleep(2000);
    switchToFrame();
    Thread.sleep(1000);
    setWindowsMax();
    waitUntilElementVisible(unauthorisedPage);
    int size = doubleApproveParent.size();
    getTransactionRef(size);
    printWindowHandle("start1");
    clickElement(doubleApproveParent.get(size-1));
    Thread.sleep(3000);
    takeScreenshot(screenShotName);
    Thread.sleep(1000);
    driver.switchTo().parentFrame();
    Thread.sleep(1000);
    printWindowHandle("start2");
    findFrame();
    int frameSize = transferFrameList.size();
    logger.info("frameSize: " + frameSize);
    driver.switchTo().frame(transferFrameList.get(frameSize-1));
    Thread.sleep(1000);
    clickElement(doubleApprove);
    Thread.sleep(3000);
}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值