zoukankan      html  css  js  c++  java
  • 轻松自动化---selenium-webdriver(python) (十)

    http://www.testclass.net/  测试教程网,专业的selenium 学习网站。

    本节重点

    • 处理下拉框
    • switch_to_alert()  
    • accept()

      

    下拉框是我们最常见的一种页面元素,对于一般的元素,我们只需要一次就定位,但下拉框里的内容需要进行两次定位,先定位到下拉框,再定位到下拉框内里的选项。

     

    drop_down.html

    复制代码
    <html>
    
    <body>
    
    <select id="ShippingMethod" onchange="updateShipping(options[selectedIndex]);" name="ShippingMethod">
    
    <option value="12.51">UPS Next Day Air ==> $12.51</option>
    
    <option value="11.61">UPS Next Day Air Saver ==> $11.61</option>
    
    <option value="10.69">UPS 3 Day Select ==> $10.69</option>
    
    <option value="9.03">UPS 2nd Day Air ==> $9.03</option>
    
    <option value="8.34">UPS Ground ==> $8.34</option>
    
    <option value="9.25">USPS Priority Mail Insured ==> $9.25</option>
    
    <option value="7.45">USPS Priority Mail ==> $7.45</option>
    
    <option value="3.20" selected="">USPS First Class ==> $3.20</option>
    
    </select>
    
    </body>
    
    </html>
    复制代码

     将上面的代码保存成html通过浏览器打开会看到一个最简单常见的下拉框,下拉列表有几个选项。

    现在我们来选择下拉列表里的$10.69

    复制代码
    #-*-coding=utf-8
    
    from selenium import webdriver
    
    import os,time
    
    driver= webdriver.Firefox()
    
    file_path =  'file:///' + os.path.abspath('drop_down.html')
    
    driver.get(file_path)
    
    time.sleep(2)
    
    m=driver.find_element_by_id("ShippingMethod")
    
    m.find_element_by_xpath("//option[@value='10.69']").click()
    
    time.sleep(3)
    
    driver.quit()
    复制代码

    解析:

    这里可能和之前的操作有所不同,首先要定位到下拉框的元素,然后选择下拉列表中的选项进行点击操作。

    m=driver.find_element_by_id("ShippingMethod")

    m.find_element_by_xpath("//option[@value='10.69']").click()

     

    百度搜索设置下拉框操作

    复制代码
    #-*-coding=utf-8
    
    from selenium import webdriver
    
    import os,time
    
    driver= webdriver.Firefox()
    
    driver.get("http://www.baidu.com")
    
    
    #进入搜索设置页 driver.find_element_by_link_text("搜索设置").click()
    #设置每页搜索结果为100条 m=driver.find_element_by_name("NR") m.find_element_by_xpath("//option[@value='100']").click() time.sleep(2)
    #保存设置的信息 driver.find_element_by_xpath("//input[@value='保存设置']").click() time.sleep(2) driver.switch_to_alert().accept()

    #跳转到百度首页后,进行搜索表(一页应该显示100条结果) driver.find_element_by_id("kw").send_keys("selenium") driver.find_element_by_id("su").click() time.sleep(3) driver.quit()
    复制代码

    解析:

    当我们在保存百度的设置时会会弹出一个确定按钮;我们并没按照常规的方法去定位弹窗上的“确定”按钮,而是使用:

    driver.switch_to_alert().accept()

     完成了操作,这是因为弹窗比较是一个具有唯一性的警告信息,所以可以用这种简便的方法处理。

    –  switch_to_alert()  

    焦点集中到页面上的一个警告(提示)

    accept()
    接受警告提示

     

    --------------------------

    学习更多selenium 内容:

     「功能测试自动化」汇总

  • 相关阅读:
    Atitit 人脸识别 眼睛形态 attilax总结
    Atitit 手机号码选号 规范 流程 attilax总结 v2 r99.docx
    atitit 板块分类 上市公司 龙头企业公司 列表 attilax总结.docx
    Atititi atiitt eam pam资产管理 购物表去年.xlsx
    使用cmd查看电脑连接过的wifi密码(一)
    常见十大web攻击手段 悟寰轩
    常见web攻击方式 悟寰轩
    【MYSQL数据库】MYSQL学习笔记mysql分区基本操作 悟寰轩
    Filter及FilterChain的使用详解 悟寰轩
    启动tomcat spring初始化两次问题(eg:@PostConstruct) 悟寰轩
  • 原文地址:https://www.cnblogs.com/Raul2018/p/9359065.html
Copyright © 2011-2022 走看看