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 ""