iframe 多表单切换与alert弹框

iframe多表单切换

通常通过传id, name, index,以及selenium的WebElement对象来切换frame:

1.id: 传入字符串的参数: 以126邮箱登录为例

  driver.switch_to.frame('id')

2. name: 传入字符串的参数:

  driver.switch_to.frame('name')

3. index: 传入整型的参数

  driver.switch_to.frame(0)

4. WebElement传入selenium.webelement 参数

  driver.switch_to.frame(driver.find_element_by_xpath('xpath'))

5. 切回上一级表单

  driver.switch_to.parent_frame()

6. 切回最外层界面(原界面)

  driver.switch_to.default_content()

 Alert弹框

切换到 alert 弹窗:alert = driver.switch_to. alert

点击确认:alert.accept()

点击取消:alert.dismiss()

代码:

def test_alert():
    driver = webdriver.Chrome()
    driver.get('https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable')
    # 切换到iframe表单
    driver.switch_to.frame('iframeResult')
    ele_drag = driver.find_element_by_id('draggable')
    ele_drop = driver.find_element_by_id('droppable')
    action = ActionChains(driver)
    action.drag_and_drop(ele_drag,ele_drop)
    action.perform()
    # 切换到alert弹框,点击确认按钮
    driver.switch_to.alert.accept()
    # 切回到上一级表单
    driver.switch_to.parent_frame()

 

posted @ 2021-12-07 15:35  ElsaWang  阅读(117)  评论(0)    收藏  举报