python+selenium进行博客文章发布

下面是具体的发布操作,我没有进行模块封装 只是简单的直接操作

# -*- coding: utf-8 -*

from selenium import webdriver
import time
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Firefox()
driver.get("https://www.csdn.net/")
driver.maximize_window()
first_handle = driver.current_window_handle

driver.find_element_by_link_text(u'登录').click()
time.sleep(1)
driver.find_element_by_id("username").send_keys('博客账户')
driver.find_element_by_id("password").send_keys('博客密码')
driver.find_element_by_class_name("logging").click()
time.sleep(2)
driver.find_element_by_xpath("html/body/div[1]/div/div/ul/li[3]/a/span").click()

time.sleep(4)

#handles操作   allhandles数据是以列表形式进行存放的   我们使用索引进行操作
all_handles = driver.window_handles
driver.switch_to.window(all_handles[1])

#因为我是用了chrome和firefox俩个浏览器  所以做了一个判断
if driver.name == 'chrome':
    pass
else:
    driver.maximize_window()

#鼠标移动操作
driver.find_element_by_xpath(".//*[@id='btnStart']").click()
s = driver.find_element_by_id('selType')
Select(s).select_by_index(1)
driver.find_element_by_id('txtTitle').send_keys(u'自己的原创')

#切换iframe框架并使用键盘事件去进行操作  因为这个时候直接使用xpath去定位会失败所以我们需要借用tab键
driver.switch_to.frame('xhe0_iframe')
driver.find_element_by_xpath('html/body').send_keys(Keys.TAB)
driver.find_element_by_xpath('html/body').send_keys(u'原文内容')

driver.switch_to.default_content()
#操控下拉框
if driver.name == 'Chrome':
    js = 'var q=document.body.scropllTop=10000'
    driver.execute_script(js)
else:
    js = 'var q=document.documentElement.scrollTop=1000'
    driver.execute_script(js)

#复选框操作
driver.find_element_by_xpath('.//*[@id="moreDiv"]/div/div[3]/div/div[2]/div[4]/label/i').click()
#下拉框操作
s1 = driver.find_element_by_id('radChl')

Select(s1).select_by_index(6)

#点击发布
driver.find_element_by_xpath('.//*[@id="btnPublish"]').click()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值