pypiwin32を使用してファイルをアップロードするセレンライブラリ

研究セレン自動テスト、遭遇したファイルのアップロードでは、本の著者は、実際の仕事の要件を避け、軽くスキップします。

現実から進むの考え方に沿って、ファイルのアップロードを完了するために、インターネット、最終用途のwin32のライブラリに関する情報を確認してください。

インストールpypiwin32ライブラリ:pypiwin32をインストールPIP

参考https://www.cnblogs.com/linuxchao/p/linuxchao-selenium-upload_file.html

================================================== =============

トピックに戻り、以下の内容がより明確に説明した事をコメントすることができることを期待して、コードの実用的な操作です。 

win32conインポート
インポートwin32gui
SLEEP時間のインポートから
selenium.webdriver.common.action_chainsからインポートActionChains
webdriverをセレンのインポートから

DEF uploadFile(ブラウザ:STR、ファイル:STR):
ウィンドウのタイトル名が異なる開くために#ブラウザ
browser_type = {
「Firefoxの」 : 'アップロードファイル'、
'クローム': 'オープン'、
'IE': '負荷にファイルを選択'
}

SLEEP(2)

ツールWinSpy、 "オープン"ウィンドウ、クラス番号#32770を配置
    ダイアログ= win32gui.FindWindow( '#32770'、browser_type [ブラウザ])





# 需要一级一级找子窗口edit;;;在工具WinSpy右侧可以看到“打开”窗口的结构:#32770 “打开”---ComboBoxEx32---ComboBox---Edit
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,file)
win32gui.SendMessage(dialog,win32con.WM_COMMAND,1,button)







if __name__ == '__main__':
driver = webdriver.Chrome()
driver.get(r'C:\Users\Administrator\PycharmProjects\webAutoTest\upload_file.html')
element = driver.find_element_by_xpath('//*[@id="upload_file"]')
action = ActionChains(driver)
action.move_to_element(element).click().perform()
action.release()
sleep(3)
uploadFile('chrome',r'C:\driver\chromedriver 64b.exe')
sleep(3)
driver.quit()

おすすめ

転載: www.cnblogs.com/yymugui/p/12020033.html