Selenium auto import md files
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import time
MD_FILE_LIST = '/xxx/yyy/zzz/solution_titles_nc.txt'
MD_FILE_REAL_DIR = '/xxx/yyy/zzz/solutions-ok-csdn'
service = Service('/usr/local/bin/chromedriver')
driver = webdriver.Chrome(service=service)
print("----------------------------start----------------------------")
url = 'https://editor.youkuaiyun.com/md/?not_checkout=1&spm=1001.2101.3001.5352'
driver.get(f"{url}")
print(f"----------------------------edit url: {url}")
time.sleep(15)
md_file_list = []
with open(f"{MD_FILE_LIST}", 'r') as file:
content = file.read().strip()
md_file_list = eval(content)
for md_file in md_file_list:
print(f"----------------------------md file: {md_file}")
time.sleep(1)
file_input = driver.find_element(By.ID, "import-markdown-file-input")
file_input.send_keys(f"{MD_FILE_REAL_DIR}/{md_file}")
time.sleep(3)
driver.find_element(By.CSS_SELECTOR, ".btn.btn-publish").click()
time.sleep(3)
add_tag_btn = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, ".tag__btn-tag"))
)
add_tag_btn.click()
search_input = driver.find_element(By.CSS_SELECTOR, ".el-input__inner")
search_input.send_keys("java")
time.sleep(1)
search_input.send_keys(Keys.ENTER)
WebDriverWait(driver, 5).until(
EC.presence_of_element_located((By.CSS_SELECTOR, ".el-tag--light"))
)
close_btn = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR,
".mark_selection_box_body > .modal__close-button"))
)
if not close_btn.is_displayed():
driver.execute_script("arguments[0].click();", close_btn)
else:
close_btn.click()
time.sleep(3)
driver.find_element(By.CSS_SELECTOR, ".el-checkbox__input").click()
time.sleep(2)
driver.find_element(By.CSS_SELECTOR, ".button.btn-b-red.ml16").click()
time.sleep(5)
new_btn = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR,
".success-modal-btn.active"))
)
driver.execute_script("arguments[0].click();", new_btn)
print(f"----------------------------md file: {md_file}发布成功!----------------------------\n")
time.sleep(5)
driver.quit()