Selenium第10课 二次封装

一、显式等待:

1.WebDriverWait():

from selenium.webdriver.support.ui import WebDriverWait

element = WebDriverWait(driver, 10, 0.5).until(lambda x: x.find_element_by_xpath("xxx"))

 

二、查找元素的函数:

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.common.by import By

def find(by, value):

  element = WebDriverWait(driver, 10, 0.5).until(lambda x: x.find_element(by, value))

  return element

 

find(By.XPATH, "xxx")  # By. ID XPATH LINK_TEXT PARTICIAL_LINK_TEXT NAME TAG_NAME CLASS_NAME CSS_SELECTOR

find(By.CSS_SELECTOR, "xxx")

 

三、Base类:

from selenium import webdriver

from selenium.webdriver.support.ui import WebDriverWait

 

class Base:

 

  def __init__(self, driver):

    self.driver = driver

  

  def find(self, by, value, timeout=30):

    element = WebDriverWait(self.driver, timeout, 0.5).until(lambda x: x.find_element(by, value))

    return element

 

  def send(self, by, value, text):

    element = self.find(by, value)

    element.send_keys(text)

 

  def click(self, by, value):

    element = self.find(by, value)

    element.click()

 

  def clear(self, by, value)

    element = self.find(by, value)

    element.clear()

 

  def get_text(self, by, value, timeout=30):

    try:

      element = self.find(by, value, timeout)

      t = element.text

      return t

    except:

      return ""

posted @ 2018-12-16 16:55  雨之印迹  阅读(157)  评论(0编辑  收藏  举报