WebDriverWait()使用匿名函数查找元素的源码原理演示

element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id("someId"))
is_disappeared = WebDriverWait(driver, 30).until_not(lambda x: x.find_element_by_id("someId").is_displayed())
from selenium.webdriver.support.wait import WebDriverWait
from selenium import webdriver

class Demo():

    def __init__(self,*locator):
        self.driver = webdriver.Chrome()
        self.locator = locator

    def func_name(self,param):    # param 参数,用来接收driver
        return param.find_elements(*self.locator)

    def find(self):
        return WebDriverWait(self.driver, 10).until(self.func_name)    # until(函数名),用匿名函数,比较方便传递定位信息 *locator

    def ele(self):
        self.driver.get("http://www.baidu.com")
        ele = self.find()
        print(ele)

if __name__ == '__main__':
    Demo('xpath','//span[@class="title-content-title"]').ele()

 

from selenium.webdriver.support.wait import WebDriverWait
from selenium import webdriver

def func(param):
    return param.find_elements("xpath",'//span[@class="title-content-title"]')


def find(driver):
    return WebDriverWait(driver, 10).until(func)

def baidu():
    driver = webdriver.Chrome()
    driver.get("http://www.baidu.com")
    ele = find(driver)
    print(ele)
    
baidu()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值