本文共 4628 字,大约阅读时间需要 15 分钟。
???????????Web?????????????????????????Selenium????Web????????????????????????????????????????
????????
?????????????????Selenium??????????????????????
1. ??????
?? title_contains ????????????????????????????????????"?????????"?
from selenium.webdriver.support import expected_conditions as ECfrom selenium import webdriverdriver = webdriver.Chrome()driver.get("https://www.baidu.com")assert EC.title_contains(driver, "?????????")driver.quit() 2. ???????
??????????????? WebDriverWait ??? expected_conditions ????????????????????????????
from selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.wait import WebDriverWaitdriver = webdriver.Chrome()driver.get("http://www.5itest.cn/register")WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="register_email"]')))driver.quit() 3. ?????????
?? get_attribute ??????????????????????????????? send_keys ???????????????
from selenium.webdriver.support import expected_conditions as ECdriver = webdriver.Chrome()driver.get("http://www.5itest.cn/register")email_element = driver.find_element_by_xpath('//*[@id="register_email"]')print(email_element.get_attribute("placeholder"))email_element.send_keys("test@163.com")driver.quit() ??????????
???????????????????? random ???????????????
import randomfrom selenium import webdriverdriver = webdriver.Chrome()driver.get("http://www.5itest.cn/register")data_email = ''.join(random.sample("123456789abcdefg", 6)) + "@163.com"data_name = ''.join(random.sample("AaBbCcDdEeFf", 4))driver.find_element_by_xpath('//*[@id="register_email"]').send_keys(data_email)driver.find_element_by_xpath('//*[@id="register_nickname"]').send_keys(data_name)driver.quit() ???????
??????????????????????OCR????????????Tesseract OCR????
import pytesseractfrom PIL import Imageimg = Image.open("F:/python_stack/python_autotest/num_code.png")text = pytesseract.image_to_string(img)print(text) ????????Tesseract OCR??????
pip install pytesseract?
????????
????????????????????????????????????? ConfigParser ???
import configparserclass ReadIni: def __init__(self, filename=None, node=None): self.filename = filename or "F:/python_stack/python_autotest/config/LocalElement.ini" self.node = node or "RegisterElement" self.cf = self.load_ini(self.filename) def load_ini(self, filename): cf = configparser.ConfigParser() cf.read(filename) return cf def get_value(self, key): return self.cf.get(self.node, key)if __name__ == "__main__": test = ReadIni() print(test.get_value("elemant_pwd")) ?????????
???????????????????????????????
from selenium import webdriverfrom util.ReadIni import ReadIniclass FindElement: def __init__(self, driver): self.driver = driver def get_element(self, key): readini = ReadIni() data = readini.get_value(key) by, value = data.split(">", 1) try: if by == "id": return self.driver.find_element_by_id(value) elif by == "name": return self.driver.find_element_by_name(value) elif by == "className": return self.driver.find_element_by_class_name(value) else: return self.driver.find_element_by_xpath(value) except: return Noneif __name__ == "__main__": driver = webdriver.Chrome() test = FindElement(driver) print(test.get_element("element_email")) ??????????
?????????????????????????????
from util.find_elemnet import FindElementfrom selenium import webdriverclass RegisterFunction: def __init__(self, url): self.driver = self.get_driver(url) def get_driver(self, url): driver = webdriver.Chrome() driver.get(url) driver.maximize_window() return driver def send_user_info(self, key, data): self.get_user_element(key).send_keys(data) def get_user_element(self, key): find_element = FindElement(self.driver) user_element = find_element.get_element(key) return user_element def main(self): self.send_user_info("element_email", "test@163.com") self.send_user_info("elemant_name", "admin") self.send_user_info("elemant_pwd", "111111")if __name__ == "__main__": url = "http://www.5itest.cn/register" register = RegisterFunction(url) register.main() ???????
????????????????????????????????????????????????????
????????
????????????????????????????????1?2???????????????????????????????????????????????
发表评论
最新留言
关于作者