[Python][Selenium]网页操作脚本
发布日期:2021-05-28 16:50:24 浏览次数:25 分类:技术文章

本文共 2777 字,大约阅读时间需要 9 分钟。

from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.support.select import Selectfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.common.exceptions import TimeoutExceptionclass getDB:    def __init__(self,login,passwd):        self.login = login        self.passwd = passwd    def getBugDB(self,url,isClosed):        opt = webdriver.ChromeOptions()#使用Chrome浏览器作为驱动器        driver = webdriver.Chrome(options=opt)        driver.set_page_load_timeout(2)#网页加载2秒后就执行登录操作,无需等待网页完全加载完毕        try:            driver.get(url)        except TimeoutException:            driver.maximize_window()            username = driver.find_element_by_xpath('//*[@id="account"]')            username.send_keys(self.login)            password = driver.find_element_by_xpath('//*[@id="loginPanel"]/div/div[2]/form/table/tbody/tr[2]/td/input')            password.send_keys(self.passwd)            login_button = driver.find_element_by_xpath('//*[@id="submit"]')            login_button.click()        time.sleep(2)        if isClosed:#通过判定条件来决定是下载所有BUG的数据库,或是未关闭BUG的数据库            #选择所有BUG页面            scale = driver.find_element_by_xpath('//*[@id="mainMenu"]/div[2]/a[1]')            ActionChains(driver).move_to_element(scale).perform()            driver.find_element_by_xpath('//*[@id="mainMenu"]/div[2]/a[1]').click()            # 点击导出数据按钮            output = driver.find_element_by_xpath('//*[@id="mainMenu"]/div[3]/div/button')            ActionChains(driver).move_to_element(output).perform()            driver.find_element_by_xpath('//*[@id="mainMenu"]/div[3]/div/button').click()            driver.find_element_by_xpath('//*[@id="exportActionMenu"]/li/a').click()        else:            #选择未关闭BUG页面            output = driver.find_element_by_xpath('//*[@id="mainMenu"]/div[3]/div/button')            ActionChains(driver).move_to_element(output).perform()            driver.find_element_by_xpath('//*[@id="mainMenu"]/div[3]/div/button').click()            # 点击导出数据按钮            driver.find_element_by_xpath('//*[@id="exportActionMenu"]/li/a').click()        #定制导出csv文件的格式        driver.switch_to.window(driver.window_handles[-1])        output_frame = driver.find_element_by_xpath('//*[@id="iframe-triggerModal"]')        driver.switch_to.frame(output_frame)        driver.find_element_by_xpath('//*[@id="encode"]/option[2]').click()        driver.find_element_by_xpath('//*[@id="exportType"]/option[1]').click()        #点击导出按钮        driver.find_element_by_xpath('//*[@id="submit"]').click()        time.sleep(10)        bug = getDB(login, passwd)bug.getBugDB(url_1,True)bug.getBugDB(url_2,True)

转载地址:https://blog.csdn.net/qq_33868661/article/details/114326654 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:[5GC]SMF用户面管理功能
下一篇:[QoS][分类与标记]可以被分类与标记的字段(非IP报头)

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年09月16日 21时40分16秒