自動化提交數據

工作需要,要往後臺添加數據,我又太懶,不想一個一個點,所以寫了一個自動提交工具,使用selenium+爬蟲做的一個小工具。懶是我進步的階梯。

添加數據頁面
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
import time
import random


class Utils(object):
    def __init__(self):
        self.driver_path = r'D:\BaiduNetdiskDownload\geckodriver.exe'
        # 初始化一個driver,並且指定Firefox的路徑
        self.driver = webdriver.Firefox(executable_path=self.driver_path)

    def getPage_and_Login(self):
        # 請求網頁
        self.driver.get("***************")
        # 通過page_source獲取網頁源代碼
        # 顯示等待,當獲取到指定元素後就繼續
        WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, 'loginbtn')))
        # 登錄
        self.driver.find_element_by_xpath('//input[@name="username"]').send_keys('******')
        self.driver.find_element_by_xpath('//input[@name="password"]').send_keys('*******')
        self.driver.find_element_by_xpath('//input[@type="submit"]').click()

    def addContent(self):
        # 點擊古詩添加button
        self.driver.find_element_by_xpath('//dl[@class="leftmenu"]//dd[2]').click()
        self.driver.find_element_by_xpath('//dl[@class="leftmenu"]//dd[2]//ul//li[1]').click()
        # 等待3秒,等待iframe加載出來。
        time.sleep(3)
        # 切換到iframe標籤,可以按照index,id,name切換。https://www.cnblogs.com/sunTin/p/7800246.html
        self.driver.switch_to.frame(0)
        # 點擊添加按鈕
        self.driver.find_element_by_xpath(
            '/html/body/div[2]/div/div/div/div[1]/a[1]/span/span[1]').click()
        # 添加標題
        self.driver.find_element_by_xpath('//*[@id="id_title"]').send_keys('****')
        # 添加內容
        self.driver.find_element_by_xpath('/html/body/div[9]/div[2]/form/table/tbody/tr[2]/td/span/textarea').send_keys(
            '****')
        # 添加註釋
        self.driver.find_element_by_xpath('/html/body/div[9]/div[2]/form/table/tbody/tr[4]/td/span/textarea').send_keys(
            '****')
        # 添加翻譯
        self.driver.find_element_by_xpath('/html/body/div[9]/div[2]/form/table/tbody/tr[5]/td/span/textarea').send_keys(
            '****')
        # 添加賞析
        self.driver.find_element_by_xpath('/html/body/div[9]/div[2]/form/table/tbody/tr[6]/td/span/textarea').send_keys(
            '****')
        # 添加音頻
        self.driver.find_element_by_name('sound').send_keys('路徑')
        # 添加作者,下拉框選擇
        author_selectTag = Select(self.driver.find_element_by_id("id_author"))
        author_selectTag.select_by_index(1)
        # 添加年齡
        self.driver.find_element_by_xpath('//input[@id="id_facility"]').send_keys(10)
        # 添加排序
        self.driver.find_element_by_xpath('//input[@id="id_ordering"]').send_keys(random.randint(30, 40))
        # 添加類型,下拉框選擇
        type_selectTag = Select(self.driver.find_element_by_id("id_volume"))
        type_selectTag.select_by_index(1)
        # 添加歌詞
        self.driver.find_element_by_name('lyric').send_keys('路徑')
        # 是否上下架,checkbox選擇
        rememberTag = self.driver.find_element_by_id("id_is_up")
        rememberTag.click()


# time.sleep(10)
# driver.close()  # :關閉當前頁面。關閉一個選項卡
# driver.quit()  # :退出整個瀏覽器。 關閉瀏覽器
if __name__ == '__main__':
    obj = Utils()
    obj.getPage_and_Login()
    obj.addContent()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章