| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 | 
							- import traceback
 
- from selenium import webdriver
 
- from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
 
- import time
 
- import os
 
- import datetime
 
- import urllib.parse
 
- from selenium.webdriver.support.ui import WebDriverWait
 
- from selenium.webdriver.common.by import By
 
- from selenium.webdriver.support import expected_conditions as EC
 
- from selenium.webdriver.common.keys import Keys
 
- import codecs
 
- import random
 
- import requests
 
- import time
 
- import rpyc
 
- import sys
 
- import codecs
 
- import sys
 
- import time
 
- import dataset
 
- import os
 
- def scrolling(driver,pgnum):
 
-     ub = driver.find_element_by_css_selector('body')
 
-     for i in range(pgnum):
 
-         ub.send_keys(Keys.PAGE_DOWN)
 
-         if pgnum>1:
 
-             time.sleep(0.3)
 
- def restart_browser():
 
- #    os.system('docker container restart p4444')
 
- #    time.sleep(10)
 
-     options = webdriver.ChromeOptions()
 
- #    options.add_argument("--proxy-server=socks5://130.61.93.198:1080")
 
-     options.add_argument("start-maximized")
 
-     options.add_argument('user-data-dir=C:\\Users\\user\\AppData\\Local\\Google\\Chrome\\User Data')
 
-     options.add_argument('--profile-directory=Profile 7')
 
-     driver=webdriver.Chrome(desired_capabilities=options.to_capabilities())
 
-     driver.set_window_size(1400,1000)
 
-     return driver
 
- db2 = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/hhh?charset=utf8mb4')
 
- #cursor=db2.query('select * from yt_tasks where yid not in (SELECT yid FROM hhh.yt_hhh_progress)')
 
- cursor=db2.query('select * from yt_tasks2 where yid not in (SELECT yid FROM hhh.yt_hhh_progress)')
 
- table=db2['yt_hhh_progress']
 
- yid=spath=title=desc=None
 
- for c in cursor:
 
-     print(c)
 
-     yid=c['yid']
 
-     spath=c['path']
 
-     print(spath)
 
-     title=c['title']
 
-     desc=c['desc']
 
-     break
 
- driver=restart_browser()
 
- url='https://www.youtube.com/upload'
 
- driver.get(url)
 
- print(spath)
 
- time.sleep(5)
 
- elmt=driver.find_element_by_xpath("//input[@type='file']")
 
- elmt.send_keys(spath)
 
- time.sleep(6)
 
- elmts=driver.find_elements_by_xpath("//div[@id='textbox']")
 
- elmt=elmts[0]
 
- elmt.click()
 
- for i in range(20):
 
-     elmt.send_keys(Keys.BACKSPACE)
 
-     time.sleep(0.1)
 
- elmt.send_keys(title)
 
- time.sleep(1)
 
- elmt=elmts[1]
 
- elmt.click()
 
- for i in range(15):
 
-     elmt.send_keys(Keys.ARROW_UP)
 
-     time.sleep(0.1)
 
- elmt.send_keys(Keys.RETURN)
 
- elmt.send_keys(Keys.ARROW_UP)
 
- elmt.send_keys(desc)
 
- elmt.send_keys(Keys.RETURN)
 
- time.sleep(1)
 
- elmt=driver.find_element_by_xpath("//*[@id='next-button']")
 
- elmt.click()
 
- time.sleep(3)
 
- elmt=driver.find_element_by_xpath("//*[@id='next-button']")
 
- elmt.click()
 
- time.sleep(3)
 
- elmt=driver.find_element_by_xpath("//*[@id='next-button']")
 
- elmt.click()
 
- elmt=driver.find_element_by_xpath("//div[@class='value style-scope ytcp-video-info']")
 
- new_yid=elmt.text
 
- table.insert({'yid':yid,'new_yid':new_yid,'dt':datetime.datetime.now()})
 
- #time.sleep(9999)
 
- time.sleep(3)
 
- elmt=driver.find_element_by_xpath("//*[@id='done-button']")
 
- elmt.click()
 
- time.sleep(3)
 
- cnt=0
 
- while True:
 
-     try:
 
-         cnt+=1
 
- #        elmt=driver.find_element_by_xpath("//span[contains(text(),'檢查完畢,未發現任何問題')]")
 
- #        if cnt >=20:
 
- #            break
 
-         elmt=driver.find_element_by_xpath("//span[contains(text(),'檢查完畢,未發現任何問題')]")
 
-         break
 
-     except:
 
-         print('not yet')
 
-         time.sleep(5)
 
- driver.quit()
 
- #檢查完畢,未發現任何問題。
 
- sys.exit()
 
- #time.sleep(9999)
 
 
  |