zoukankan      html  css  js  c++  java
  • Python3+Selenium3自动化测试-(五)

    完成selenium的键盘事件和鼠标事件,接下来当然是要完成更多了。

    通常情况下,在网页中会有一些下拉框进行选择或者给你一个弹框告诉你需要进行确认,遇到这样的情况如何解决呢,这里就来说一说……

    # coding=utf-8
    
    import time
    
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium.webdriver.support.select import Select
    
    
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com")
    time.sleep(5)
    
    # driver.find_element(By.ID, "kw").send_keys("selenium&python")
    # driver.find_element(By.ID, "su").click()
    # driver.find_element(By.XPATH, '/html/body/div[1]/div[5]/div[1]/div[2]/div[1]/div[2]/div[1]').click()
    # driver.find_element(By.XPATH, '/html/body/div[1]/div[5]/div[1]/div[2]/div[1]/div[1]/span[2]').click()
    # 折腾半天才发现定位出来的不是下拉框……
    driver.find_element(By.LINK_TEXT, '设置').click()
    driver.find_element(By.LINK_TEXT, '搜索设置').click()
    time.sleep(2)
    
    sel = driver.find_element(By.XPATH, '//*[@id="nr"]')  # 定位下拉框
    Select(sel).select_by_value('50')  # 通过value的值进行选定条目
    driver.find_element(By.CLASS_NAME, 'prefpanelgo').click()
    time.sleep(2)
    driver.switch_to.alert.accept()  # 此处同意警告框提示内容
    time.sleep(2)
    
    driver.quit()

    在百度首页想要进行设置每次搜索页面显示的数目,就会有一个下拉框进行选择,这里可以导入Select这个模块进行对下拉框进行选择,通常下拉框的列表是包含一个值的,这样就可以通过value来选定,完成设置之后,当然是要保存设置啦,点击保存发现,居然有一个弹框,这可如何是好,切换至alert之后接受吧……

    通过在编辑器中的提示,我们同样可以给弹框发送一个值,当然这里设置中并没有出现这类情况。

    这次对下拉框和弹框的处理过程中,折腾了不短时间,原因就是元素等待的问题,下回要仔细研究下元素等待的问题了。

  • 相关阅读:
    前端框架搭建
    npm的镜像和淘宝互换
    grunt,gulp,webpack前端打包工具的特性
    react 文章
    大数据学习08_HDFS2
    大数据学习07_HDFS1
    大数据学习06_zookeeper3_javaAPI操作
    大数据学习05_zookeeper2
    大数据学习04_zookeeper1
    大数据学习03_Linux集群搭建_辅助工具的安装
  • 原文地址:https://www.cnblogs.com/lvzb86/p/9389115.html
Copyright © 2011-2022 走看看