zoukankan      html  css  js  c++  java
  • 显示等待WebDriverWait+EC

    参考:https://www.cnblogs.com/yoyoketang/p/6538505.html

    百度搜索关键字,等待搜索结果页面显示完成后,验证搜索结果的第一条记录

    通过WebDriverWait定位一组元素

    如果是定位一组元素,用到presence_of_all_elements_located,定位一个元素presence_of_element_located

    presence_of_all_elements_located和presence_of_element_located区别:

    presence_of_element_located : 判断某个元素是否被加到了dom树里,并不代表
    
    presence_of_all_elements_located : 判断是否至少有1个元素存在于dom树中。举个例子,如果页面上有n个元素的class都是'column-md-3',那么只要有1个元素存在,这个方法就返回True

    代码如下:

    #coding:utf-8
    '''
    这里写了一个百度搜索页的pageobject
    '''
    from PageElement.readYaml import parseyaml
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    class Baidu_page():
        '''
        百度搜索page类
        '''
    
        getElement = parseyaml()
    
    
    
        search_box = getElement["baiduPage"]["search_box"]["value"]
        baidu_button = getElement["baiduPage"]["baidu_button"]["value"]
        search_result = getElement["baiduPage"]["search_result"]["value"]
    
    
    
    
    
        def __init__(self,driver):
            self.driver = driver
    
        def input_search(self,keyword,type_a="css"):
            '''输入搜索关键词'''
            self.driver.find_element(type_a,self.search_box).send_keys(keyword)
    
    
    
        def click_baidubutton(self,type_a="css"):
            '''点击百度一下按钮'''
            self.driver.find_element(type_a, self.baidu_button).click()
    
    
        def verification_result(self,type_a="css"):
            '''用例结果验证'''
            results = WebDriverWait(self.driver,10).until(EC.presence_of_all_elements_located((type_a,self.search_result)))
            print(results)
    
            nanjing_baike = results[0].text
            return nanjing_baike
  • 相关阅读:
    智能聊天机器人——基于RASA搭建
    十分钟学会写shell脚本
    浅谈并发并行异步同步
    C/S系统实现两数求和(非阻塞+epoll+心跳包检测用户在线状况+滚动日志+配置文件.)
    编程之美第一篇 01分数规划
    欧拉函数
    奇妙的算法之LCS妙解
    N种方法妙讲LIS算法
    基于FeignClient提供简单的用户查询服务
    SpringCloud简介
  • 原文地址:https://www.cnblogs.com/yrxns/p/11231559.html
Copyright © 2011-2022 走看看