Python 스 크 립 트 를 사용 하여 GiteePages 를 원 키 로 배치 하 는 사용 설명

이번 시스템 환경
os: Deepin(Linux)
Python: 3.7
lib: PyYAML=5.3.1 | selenium=3.141.0
extend_driver: chromedriver
사용 설명
매개 변수
Python 스 크 립 트 와 config.yaml 설정 파일 에 포 함 된 인자 정보

repo_user_name = "Gitee   "
repo_name = "   "
login_user = "    "
login_pwd = "    "
os = "    1~3(      :1 Linux | 2 Mac | 3 Windows)"
구동 하 다
본문 에서 사용 한 것 은Linux 87.0.4280.88( ) (64 )운영 체제 와 구 글 브 라 우 저 에 따라 해당 하 는 드라이브 를 선택해 야 한다.만약 당신 의 브 라 우 저 버 전이 나의 것 과 일치한다 면,축하합니다,그냥 가 져 가서 쓰 세 요.저 는 리 눅 스,맥,윈도 드라이브 를 준 비 했 습 니 다.
만약 당신 의 구 글 브 라 우 저 버 전이 나의 것 과 일치 하지 않 는 다 면,아래 에 나 는 당신 에 게 어떻게 다운로드 하고 설정 하 는 지 알려 줄 것 입 니 다.
1.chrome 버 전 보기
chrome 브 라 우 저 주소 표시 줄 에 입력:chrome://version/ 자신의 버 전 정 보 를 확인 합 니 다.
그리고 당신 은 볼 수 있 습 니 다.

설정 에서 보기:

2.드라이버 다운로드
자신의 드라이버 윈도 우즈|Linux|Mac 을 선택 하 십시오.드라이버 다운로드:주소.
3.중요 한 알림:구동 을 아래 두 경로 아래 에 놓 아야 합 니 다.
1.구 글 의 설치 경로
2.python 의 설치 경로
파 이 썬 환경
방 해 를 피하 기 위해 서 나 는 가상 환경 을 사용 하여 관 리 를 한다.
물론 설치 시스템 으로 설치 한 환경 도 괜 찮 습 니 다.
설치 환경 사용
1.의존 라 이브 러 리 설치requirements.txt있 는 디 렉 터 리 에서 실행:

pip install -r requirements.txt
찾기 환경 만 들 기
1.디 렉 터 리 를 만 들 고 이 디 렉 터 리 에 들 어가 기

mkdir -p ~/Virtualenv/Python37 && cd ~/Virtualenv/Python37
2.가상 환경 만 들 기

python3 -m venv python
하면,만약,만약...
The virtual environment was not created successfully because ensurepip is not
available
실행:

hljs
apt-get install python3-venv
3.가상 환경 으로 전환
IDE 를 사용 하면 스 크 립 트 를 가상 환경의 실행 가능 한 프로그램 으로 직접 전환 합 니 다.
명령 행 을 사용 하면 가상 환경 이 있 는 디 렉 터 리 로 직접 전환 하여 실행 하면 됩 니 다.또는 가상 환경 에서active을 실행 합 니 다.(Windows 스 크 립 트 는 Script 에서|Linux,Mac 은 bin 에서)
예 를 들 어 Linux:source./bin/activate
4.이 스 크 립 트 설치 에 필요 한 의존 패키지

pip install -r requirements.txt
스 크 립 트 실행
1.창고 정보 준비 하기
나 는 키보드 입력 과 프로필 두 가지 방식 으로 창고 와 비밀번호 등 정 보 를 얻 었 다.
기본 값 은 프로필 을 읽 는 방식 으로 가 져 옵 니 다.만약 당신 이 전환 하려 고 한다 면,당신 은bin.py의 파일 끝 에 설정 할 수 있 습 니 다.나 는 설명 을 했 습 니 다.
2.스 크 립 트 실행
이미 알 고 준비 가 되 어 있다 면 직접 실행 하 세 요~

python bin.py
부록
스 크 립 트|드라이버|프로필 등 정 보 를 내 Gitee 에 다운로드-->주소.
1.프로필:config.yaml

repo_user_name:     
repo_name:    
login_user:    
login_pwd:     
os: 1
파 이 썬 스 크 립 트:bin.py

##! ~/Virtualenv/Python37/python/bin/python
# -*- coding:utf-8 -*-

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait as Wait
import yaml
import os


def redeploy(repo_user_name, repo_name, login_user, login_pwd, oSystem):
    print("
start refresh gitee pages...") os_type = { '1': 'chromedriver_linux', '2': 'chromedriver_mac', '3': 'chromedriver_win.exe' } url = "https://gitee.com/" + repo_user_name + "/" + repo_name + "/pages" # path = os.path.dirname(os.path.realpath(__file__)) # driver_path = "script/{}".format(os_type[oSystem]) driver = os.path.abspath("script/chromedriver_linux") chrome_options = Options() chrome_options.add_argument("--window-size=1920,1080") chrome_options.add_argument("--start-maximized") chrome_options.add_argument("--headless") browser = webdriver.Chrome(executable_path=driver, options=chrome_options) browser.get(url) Wait(browser, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "item.git-nav-user__login-item"))) print("load finish. url=" + url) login_btn = browser.find_element_by_class_name("item.git-nav-user__login-item") login_btn.click() Wait(browser, 10).until(EC.presence_of_element_located((By.ID, "user_login"))) Wait(browser, 10).until(EC.presence_of_element_located((By.ID, "user_password"))) print("login page load finish.") user_input = browser.find_element_by_id("user_login") pwd_input = browser.find_element_by_id("user_password") login_btn = browser.find_element_by_name("commit") user_input.send_keys(login_user) pwd_input.send_keys(login_pwd) login_btn.click() Wait(browser, 10).until( EC.presence_of_element_located((By.CLASS_NAME, "button.orange.redeploy-button.ui.update_deploy"))) print("login finish.") deploy_btn = browser.find_element_by_class_name('button.orange.redeploy-button.ui.update_deploy') browser.execute_script("window.scrollTo(100, document.body.scrollHeight);") deploy_btn.click() dialog = browser.switch_to.alert dialog.accept() print("refresh gitee pages finish.") browser.close() def input_required(): repo_user_name = input(" :
>>>") if len(repo_user_name) == 0: print(" ! ") input_required() repo_name = input(" :
>>>") if len(repo_name) == 0: print(" ! ") input_required() login_user = input(" :
>>>") if len(login_user) == 0: print(" ! ") input_required() login_pwd = input(" :
>>>") if len(login_pwd) == 0: print(" ! ") input_required() oSystem = input(" ( Linux)
\t**< 1:Linux | 2:Mac | 3:Windows >**
>>>") if len(os) == 0: redeploy(repo_user_name, repo_name, login_user, login_pwd, "1") redeploy(repo_user_name, repo_name, login_user, login_pwd, oSystem) def reade_conf(): path = os.path.dirname(os.path.realpath(__file__)) config = os.path.join(path, "config.yaml") f = open(config) # yaml # d = yaml.load(f) ##yaml5.1 : load d = yaml.load(f, Loader=yaml.FullLoader) ##yaml5.1 : load repo_user_name = d['repo_user_name'] repo_name = d['repo_name'] login_user = d['login_user'] login_pwd = d['login_pwd'] oSystem = str(d['os']) redeploy(repo_user_name, repo_name, login_user, login_pwd, oSystem) if __name__ == '__main__': # : # input_required() # : config.yaml reade_conf()
참고 문장
https://www.jianshu.com/p/19cc4eb0f199
https://www.cnblogs.com/wulixia/p/11200023.html
이상 은 Python 스 크 립 트 를 사용 하여 GiteePages 를 원 키 로 배치 하 는 상세 한 내용 입 니 다.Python GiteePages 원 키 배치 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기