日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python autoit获取网页ajax数据_WebDriver + Python 调用AutoIt例子(实现139邮箱写信页的附件上传)...

發布時間:2025/3/15 python 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python autoit获取网页ajax数据_WebDriver + Python 调用AutoIt例子(实现139邮箱写信页的附件上传)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PS:

前提

1. 安裝好webdriver下python實現的環境

2. 安裝好Autoit(默認安裝就可以了)

3. 另外需要一個139郵箱賬號,腳本運行時上傳的圖片在附件里面

#coding:cp936

"""

Action:WebDriver + Python 調用AutoIt例子(139郵箱寫信頁的附件上傳操作)

Author:深圳-橫放

Date:2014-07-02

"""

#調用autoit所需的模塊

import win32api, win32pdhutil, win32con

import win32com.client

from win32com.client import Dispatch

#webdriver的模塊

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.support.ui import Select

from selenium.common.exceptions import NoSuchElementException

import unittest, time, re ,sys ,os

class Untitled(unittest.TestCase):

username = "XXXXX@139.com" #賬號

password = "XXXXX" #密碼

#初始化

def setUp(self):

self.driver = webdriver.Chrome()

self.driver.implicitly_wait(30)

self.base_url = "http://mail.139.com"

self.verificationErrors = []

self.accept_next_alert = True

self.driver.maximize_window()

#判斷元素是否出現

def is_element_present(self, how, what):

try: self.driver.find_element(by=how, value=what)

except NoSuchElementException, e: return False

return True

#通過xpath匹配對應的文本元素,判斷文本元素是否出現

def is_text_present(self,what):

#Now = datetime.now()

try:

if what=="":

pass

else:

self.driver.find_element_by_xpath("//*[contains(.,'%s')]"%what)

except NoSuchElementException, e:

#elapsedtime1 = datetime.now()-Now

#print "waste time: "+str(elapsedtime1.seconds)+"."+str(elapsedtime1.microseconds)

return False

#elapsedtime1 = datetime.now()-Now

#print "waste time: "+str(elapsedtime1.seconds)+"."+str(elapsedtime1.microseconds)

return True

#測試用例--發送一封測試郵件

def test_untitled(self):

driver = self.driver

driver.get("http://mail.10086.cn/")

#登錄

driver.find_element_by_id("txtUserName").clear()

driver.find_element_by_id("txtUserName").send_keys(self.username.split('@')[0])

driver.find_element_by_id("txtPassword").clear()

driver.find_element_by_id("txtPassword").send_keys(self.password)

driver.find_element_by_id("loginBtn").click()

#寫信頁打開

driver.find_element_by_css_selector("#btn_compose > span").click()#打開寫信頁

time.sleep(2)

#選擇iframe

iframe_xpath = "//iframe[contains(@id,'compose_')]"#寫信頁所在的iframe的xpath路徑,通過火狐瀏覽器的firebug插件可以查看到是在一個iframe的頁面內

iframe = self.driver.find_element_by_xpath(iframe_xpath)

self.driver.switch_to_frame(iframe)

time.sleep(1)

#編寫郵件內容

self.driver.find_element_by_link_text(u"發給自己").click()

mysubject = "這是一封測試郵件! "

mycontent = "這是一封測試郵件! "*5

#這里有個小技巧--對于不能正常輸入文本的輸入框,可以先用webdriver點擊,然后再用AutoIt的send方法進行輸入

self.driver.find_element_by_css_selector("input.fl.addrText-input").click()

autoit.Send(mysubject)

autoit.MouseClick("left",448,452,1)#正文-坐標可以通過autoit自帶的Autoit Window info來查看

autoit.Send(mycontent)

self.driver.find_element_by_id("uploadInput").click()#點擊附件上傳按鈕

#autoit.MouseClick("left", 288, 326, 1)#點擊附件上傳按鈕--用上面的代碼替代

str_filepath = os.path.join(os.getcwd() + "\\1M.png") #獲取附件路徑

#print str_filepath

autoit.WinWait(u"打開", "", 5)

autoit.WinActivate(u"打開")

autoit.ControlSetText(u"打開","","[CLASS:Edit; INSTANCE:1]",str_filepath)

autoit.ControlClick(u"打開","",u"保存(&S)")

autoit.ControlClick(u"打開","",u"打開(&O)") #附件上傳動作

#等待附件上傳完成

while self.is_text_present("(1,031.79K)") == False:

sleep(1)

#點擊發送

self.driver.find_element_by_xpath("//*[@id=\"topSend\"]/span").click()

time.sleep(10)

#測試清理

def tearDown(self):

self.driver.quit()

self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":

#調用autoit3

try:

autoit = Dispatch("AutoItX3.Control")

except:

print >> sys.stderr, u'AutoItX3 加載失敗了!'

unittest.main()

總結

以上是生活随笔為你收集整理的python autoit获取网页ajax数据_WebDriver + Python 调用AutoIt例子(实现139邮箱写信页的附件上传)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。