Selenium发表图片说说

from selenium 
import webdriver
import time
import win32gui
import win32con
driver = webdriver.Chrome(r'H:\python\chromedrive\chromedriver.exe')
url = 'http://user.qzone.qq.com/715157026/infocenter?ptsig=YAykvv1IN0eLgVhwb9vnl2AyS*9pwf23WfDbffrZ20k_'
driver.get(url)
try:
    driver.find_elements_by_id('login')
    a = True
except:    a = False
if a == True:  #模拟登陆
    driver.switch_to.frame('login_frame') 
    driver.find_element_by_id('switcher_plogin').click() 
    driver.find_element_by_id('u').clear()
    driver.find_element_by_id('u').send_keys(QQ)
    driver.find_element_by_id('p').clear() 
    driver.find_element_by_id('p').send_keys(keys)      
    driver.find_element_by_id('login_button').click()
time.sleep(20)   
driver.find_element_by_id("qz_poster_editor_v4_container").click() #很奇怪,好像是发说说的方式变了,直接点击发图片没有效果,必须要先点这个才行
time.sleep(5)
ele = driver.find_element_by_class_name("pic")
time.sleep(3)
ele.click()
time.sleep(10)
driver.find_element_by_id('qz_app_imageReader_1').click()
time.sleep(5)
dialog = win32gui.FindWindow(0, u'打开')  # 对话框
ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)  #输入相对地址
button = win32gui.FindWindowEx(dialog, 0, 'Button', None) #确定按钮
win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, r"H:\自己瞎搞的[root,单片]\奇怪的图片\123.png")
win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)
time.sleep(35)  #等待图片上传到图床,时间较长
driver.find_element_by_xpath("//*[@id='QM_Mood_Poster_Inner']/div/div[4]/div[4]/a[2]").click() #点击发表,因为class里面有空格,find_class无法定位,所以用Xpath,好像用css也可以

一些注释都在代码里面了,有些东西单独拿出来说。一个是说说上传图片好像变了



直接点这个并不能直接把隐藏的东西点出来了,不知道是不是我的浏览器抽风了,必须要点一下这个才可以。



后面一部分是用Python操作Windows上传的代码。
sleep可以解决很多问题。。很多问题都是因为没有加载出来,才引发的问题。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,596评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 遵守成年人之间的游戏规则。
  • 我在春光中等着你 看蹁跹蝶舞 闻百花芬芳 你知道我抑郁踟蹰 却不肯快步而来 任我空欢喜 只因那熟悉的旋律 清风吹过...
    Sarah老师阅读 228评论 0 0
  • 概念:一个用于堆叠视图的容器 , iOS9 的API , 适用于通用设备开发 用途:StackView及其子视图可...
    ShenYj阅读 1,122评论 0 1