zoukankan      html  css  js  c++  java
  • selenium,用的基本操作(8)

    三、常用的基本操作
    1.打开网页:driver.get("url")
    2.退出浏览器(关闭所有网页):driver.quit()
    3.定位到元素后的元素基本操作:
    (1)元素对象.click() ---点击按钮、超级链接、图片、单选按钮、复选框等。
    (2)元素对象.send_keys("xxx") ---向文本框输入(追加式输入)。
    (3)元素对象.clear() ---清空文本框内容。
    4.下拉列表如果是select标记的话,不能点击下拉列表后点击选项来选择它,需要按照如下的流程来选择:
    (1)导入selenium为select标记单独准备的类Select。
    from selenium.webdriver.support.select import Select
    (2)定位到select标记的元素:与普通元素定位没有差别。
    语法:变量1=driver.find_element(By.XXX,"xxx")
    示例:
    xia=driver.find_element(By.ID,"category")
    (3)实例化Select对象,把第(2)步骤所定位到的页面元素对象作为该类构造函数的参数传入。
    语法:变量2=Select(变量1)
    示例:
    # 实例化Select对象
    s1=Select(xia)
    (4)调用select开头的函数来选择一个选项。
    语法一:变量2.select_by_visible_text("选项的完整文本")
    示例1:
    # <option value='xx'>充值卡</option>
    s1.select_by_visible_text("充值卡")
    语法二:变量2.select_by_value("选项的value属性值")
    示例:
    # <option value="8"> 耳机</option>
    s1.select_by_value("8")
    语法三:变量2.select_by_index(索引号)
    注意:索引号从0开始编号。
    示例:
    s1.select_by_index(5)#选择第6个选项
    
    练习:demo5002中继续书写代码,点击“高级搜索”,选择品牌下拉列表里的“联想”选项,选择扩展选项里的“精品手机”选项。
    
    5.补充:Select类里其他属性和函数---不是重点,了解!
    n=driver.find_element(By.ID,"nation")
    ns=Select(n)
    (1)取消选项的函数:针对多选的那种下拉列表(有multiple属性的那个select标记的元素)来使用。
    语法一:
    ns.deselect_all()#取消所有选项的选中状态
    语法二:
    ns.deselect_by_visible_text("满族")
    语法三:
    ns.deselect_by_value("汉族")
    语法四:
    ns.deselect_by_index(3)#取消第4个选项
    (2)属性first_selected_option:记录第一个被选中的选项,属性值是option标记的页面元素对象,如果想获得此选项的文本,还需要再对该对象获得text属性值。
    示例:
    c=driver.find_element(By.ID,"city")
    cs=Select(c)
    # 打印输出默认选项的文本
    print(cs.first_selected_option.text)#上海
    (3)属性options:记录所有备选项(包括已选中的和未选中的),属性值是list,list里是每一个选项的页面元素对象,如果想获得每个选项的文本,还需要再对每个页面元素对象获得text属性值。
    示例:# 测试需求:选择文本中包含“回”的选项
    for o in ns.options:
    if "" in o.text:
    o.click()#或ns.select_by_visible_text(o.text)
    break4)属性is_multiple:记录是否允许多选的状态值,属性值是一个布尔值,True代表允许多选,False代表不允许。
    
    
    案例:Selenium资料02-seleniumday05.zip解压缩2-seleniumday05(for student)day0502demodemo01.html复制到C:wampwww里,使用Firefox访问http://localhost/demo01.html
    
    5.注意事项:有些网页里看起来像是下拉列表的元素,其实不是select标记的,那么就不能封装为Select类型的对象,需要按照手工操作的流程来实现自动化测试,比如点击它。
    
    6.弹出提示信息框的操作:
    (1)切换到弹出框,获得弹出框类型的对象(Alert类对象实例)。
    语法:变量=driver.switch_to.alert
    示例:
    a1=driver.switch_to.alert
    (2)获得弹出框里的文本:使用Alert类的属性text来获得。
    注意:text后没有小括号,因为不是函数,是一个属性。
    示例:
    print(a1.text)
    (3)点击确定或取消等按钮来关闭弹出框:调用Alert类里的无参的accept函数或dismiss函数来分别点击确定或取消按钮。
    示例:
    a1.accept() 或 a1.dismiss()
  • 相关阅读:
    程序活动记录&程序调试&多线程编程
    数据结构与算法
    C/C++
    Information Retrieval --- Retrieval Comment
    Information Retrieval --- Clustering
    Information Retrieval --- Classification
    Information Retrieval --- Web Search
    Information Retrieval --- Retrieval Enforce:Relevance Feedback & Query Expansion
    Information Retrieval --- Retrieval Model
    ubuntu server 安装vnc
  • 原文地址:https://www.cnblogs.com/guog1/p/14154380.html
Copyright © 2011-2022 走看看