封装find_element

因为find_element_by_id,find_element_by_name底层都是用find_element实现元素查找

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/10/31 17:47
# @File    : find_element.py
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions


class FindElement(object):

    def __init__(self, driver):
        self.driver = driver
        self.type_dict = {
            'ID': "id",
            'XPATH': "xpath",
            'LINK_TEXT': "link text",
            'PARTIAL_LINK_TEXT': "partial link text",
            'NAME': "name",
            'TAG_NAME': "tag name",
            'CLASS_NAME': "class name",
            'CSS_SELECTOR': "css selector",
        }
    
    # 获取元素list对象
    def find_element_list(self, type, value, second=10):
        return WebDriverWait(self.driver, second).until(
            lambda driver: driver.find_elements(
                self.type_dict[type],
                value
            ))
            
    # 获取元素
    def find_by_type_wait(self, type, value, second=11):      # 知识点
        return WebDriverWait(self.driver, second).until(
                    lambda driver: driver.find_element(
                        self.type_dict[type],
                        value
                    )
                )
    
    
if __name__ == '__main__':
    driver = ? # 打开百度
    fe = FindElement(driver)
    fe.find_by_type_wait('ID',"kw").send_keys('搜索selenium')
原文地址:https://www.cnblogs.com/lvchengda/p/12626959.html