• handles的操作


     1 # coding=utf-8
     2 # project:web自动化练习
     3 # date:2020/6/4
     4 # author:Victoria
     5 # file:do_handles.py
     6 # 主要是练习handles的操作
     7 from selenium import webdriver
     8 from selenium.webdriver.support.wait import WebDriverWait
     9 from selenium.webdriver.common.by import By
    10 from selenium.webdriver.support import expected_conditions as EC
    11 from time import sleep
    12 
    13 driver = webdriver.Firefox()
    14 driver.get("https://www.baidu.com/")
    15 
    16 driver.find_element_by_id("kw").send_keys("柠檬班")
    17 driver.find_element_by_id("su").click()
    18 
    19 WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, "//div[@tpl='tieba_general']/h3/a")))
    20 driver.find_element_by_xpath("//div[@tpl='tieba_general']/h3/a").click()
    21 # 操作元素都等一等
    22 sleep(0.5)
    23 # 获取当前窗口的句柄
    24 handles = driver.window_handles
    25 print(handles)
    26 # 打印当前窗口的句柄
    27 print(driver.current_window_handle)
    28 # 最后一个打开的界面为最新的界面
    29 driver.switch_to.window(handles[-1])
    30 
    31 # 新的页面操作
    32 # visibility_of_element_located里面是个元祖一定要记得价格括号
    33 WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "j_head_focus_btn")))
    34 driver.find_element_by_id("j_head_focus_btn").click()


    方法2
    使用new_window_is_opened
    # coding=utf-8
    # project:web自动化练习
    # date:2020/6/4
    # author:Victoria
    # file:do_handles.py
    # 主要是练习handles的操作
    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    from time import sleep
    
    driver = webdriver.Firefox()
    driver.get("https://www.baidu.com/")
    
    driver.find_element_by_id("kw").send_keys("柠檬班")
    driver.find_element_by_id("su").click()
    
    WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, "//div[@tpl='tieba_general']/h3/a")))
    # 获取当前窗口的句柄
    handles = driver.window_handles  # 窗口总数为1
    # 操作,引起窗口的数量发生变化
    driver.find_element_by_xpath("//div[@tpl='tieba_general']/h3/a").click()
    # 等待新窗口出现
    WebDriverWait(driver, 10).until(EC.new_window_is_opened(handles))
    # 重新获取一下窗口
    handles = driver.window_handles  # 窗口总数为1
    # 最后一个打开的界面为最新的界面
    driver.switch_to.window(handles[-1])



  • 相关阅读:
    读写csv文件
    安卓跳转
    求时间精确到秒的数
    航空公司客户价值分析
    利用LM神经网络和决策树去分类
    拉格朗日插值法
    ID3
    K最近邻
    贝叶斯分类
    FilterDispatcher已被标注为过时解决办法
  • 原文地址:https://www.cnblogs.com/albeexu/p/13047383.html
Copyright © 2020-2023  润新知