• 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)

  • 相关阅读:
    CenOS下搭建PPTP服务
    Nginx做反向代理总是被系统kill
    python排序算法
    linux系统中rsync+inotify实现服务器之间文件实时同步
    HDU
    BZOJ1237: [SCOI2008]配对
    BZOJ2243: [SDOI2011]染色
    BZOJ3192: [JLOI2013]删除物品
    点分治小结
    AtCoder Beginner Contest 124 解题报告
  • 原文地址:https://www.cnblogs.com/String-song/p/14484322.html
Copyright © 2020-2023  润新知