zoukankan      html  css  js  c++  java
  • selenium多窗口切换

    selenium操作中,会通过click()操作,打开新窗口。当需要操作新窗口时,就需要进行窗口切换。

    (1)JS执行click操作

    # 解决报错(Other element would receive the click)

    organization = self.driver.find_element(By.XPATH, '//span[contains(text(), "%s")]' % organization_name)
    # 定位到元素Arguments传参:arguments[0],传入organization的第一个参数
    self.driver.execute_script("$(arguments[0]).click()", organization)

    (2)窗口切换

    # 导入包文件

    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC

    from selenium.webdriver.common.by import By

    # 获取当前窗口句柄
    current = self.driver.current_window_handle
    # 获取当前所有的窗口句柄
    handles = self.driver.window_handles
    # 预览审批流程按钮点击:弹出新窗口
    self.driver.find_element(By.XPATH, '//*[@id="basicInfo"]/div[1]/div/a').click()
    # 等待新窗口打开
    WebDriverWait(self.driver, 10).until(EC.new_window_is_opened(handles))
    # 切换到新窗口
    self.driver.switch_to.window([w for w in self.driver.window_handles if w != current][0])
    # 关闭新窗口
    self.driver.close()
    # 回到旧窗口
    self.driver.switch_to.window(current)

  • 相关阅读:
    Hbase 笔记(4) 客户端API高级性能
    Hbase 笔记(3) 客户端API基础
    Hbase 笔记(2) 安装
    HBase 笔记(1) 简介
    Global 和 Local 索引。
    Phoenix Tips (14) mutable 和 immutable 表区别
    Phoenix Tips (13) 统计收集
    Phoenix Tips (12) 跟踪 Tracing
    Phoenix Tips (11) Skip Scan
    Phoenix Tips (10) 分页查询
  • 原文地址:https://www.cnblogs.com/String-song/p/14484322.html
Copyright © 2011-2022 走看看