使用selenium做一个发布CSDN文档的脚本

使用selenium做一个发布CSDN文档的脚本

下面是脚本的全部代码,从登录到完成文章发布的全过程,包含了大部分selenium常用的操作

import time
# 导入selenium包
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait

# 打开Chome浏览器
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

browser = webdriver.Chrome()

# 等待元素出现,最多等待 10 秒
wait = WebDriverWait(browser, 10)

# 最大化浏览器
browser.maximize_window()
browser.get("http://www.csdn.net/")
login_fun = browser.find_element(by=By.CLASS_NAME, value='toolbar-btn-loginfun')
login_fun.click()

login_iframe = wait.until(EC.presence_of_element_located((By.NAME, 'passport_iframe')))
# 切换到iframe上下文
browser.switch_to.frame(login_iframe)

password_login = wait.until(EC.presence_of_element_located((By.XPATH, '//span[text()="密码登录"]')))
password_login.click()

username_input = browser.find_element(By.XPATH, '//input[@placeholder="手机号/邮箱/用户名"]')
password_input = browser.find_element(By.XPATH, '//input[@placeholder="密码"]')

# 往文本框中输入
username_input.send_keys('*****')
password_input.send_keys('*****')

login_button = browser.find_element(By.XPATH, '//button[text() = "登录"]')

login_button.click()

# 切回默认上下文
browser.switch_to.default_content()
# browser.refresh()

# 等待登陆后重定向完成
put_butt = wait.until(EC.presence_of_element_located((By.XPATH, '//a[text()="发布"]')))
browser.get(put_butt.get_attribute('href'))

# 获取编辑框
editor_pre = wait.until(EC.presence_of_element_located((By.XPATH, '//pre[@class="editor__inner markdown-highlighting"]')))
editor_pre.clear()

title_input = wait.until(EC.presence_of_element_located((By.XPATH, '//input[@placeholder="请输入文章标题(5~100个字)"]')))
title_input.clear()

# 标题内容
title = ''

# 文章内容
md_con = '''
'''

title_input.send_keys(title)
editor_pre.send_keys(md_con)

time.sleep(20)

simulation_button = browser.find_element(By.XPATH, '//button[@class = "btn btn-publish"]')
simulation_button.click()

time.sleep(5)
publish_button = browser.find_element(By.XPATH, '//button[@class = "button btn-b-red ml16"]')
publish_button.click()

# 10s后关闭浏览器
time.sleep(10)
browser.quit()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值