(二十五)webdriverをAPIには、ファイルをアップロードします

エッセイやレコードは、仲間の旅行者へのアクセスを容易にします。

#私------------------------------------------------ -------------------------------------------分割線は残念です

  学習セレン自動化する前に、それはHTML、CSS、JavaScriptやその他の知識、操作および位置決め要素の原理を理解するための助けを学ぶのがベストです。Pythonとセレンに関するその他の情報のために独自の検索をインストールし、

ここで導入していない、すべての例は、使用 python3.6 +セレンの実行を。

#私------------------------------------------------ -------------------------------------------分割線は残念です

 

ファイルのアップロード

  アップロードファイルは、より一般的であるウェブ機能の一つが、webdriverをは鍵がアイデアは、ファイルをアップロードする方法でアップロードし、アップロードのために特別な方法を提供しません。

  一般的なウェブ地元開くために、「アップロード」ボタンをクリックする操作の必要性のアップロードページの後に、Windowsのウィンドウを。ローカルファイルのアップロードウィンドウから選択します。webdriverをは動作不能である、Windowsのように初心者のために、一般的なアイデアが認識する方法で立ち往生し、コントロールのWindowsを制御問題に。

  以下のためのWeb アップロード機能ページは、一般的に二つの方法でそれを達成しています。

  1、普通のアップロード:アップロードの一般的なアクセサリーは、上の値として、ローカルファイルへのパスです入力をタブからサーバーこのフォームを送信する値に設定します。

  2は、プラグインのアップロードには:一般的に基づくを参照のFlash JavaScriptのか、Ajaxのアップロード技術が実装されています。

  A、send_keys アップロードします

  スルーのための入力アップロードタグ実装、それはすなわちを通じて、入力ボックスとして見ることができる)(send_keys ローカルファイルパス、ファイルのアップロードを標的とします。

 

<!DOCTYPE HTML> 
<HTML LANG = "EN"> 
<HEAD> 
    <メタ文字コード= "UTF-8"> 
    <タイトル>タイトル</ TITLE> 
</ HEAD> 
<BODY> 
    <フォーム> 
        の<input type = "ファイル"名前="ファイル」値= "上传文件"> 
    </ FORM> 
</ BODY> 
</ HTML>

 

  効果ブラウザは以下開きます。

 

通常のアップロードファイル
からセレンインポートwebdriverをする

ドライバー = webdriver.Chrome()
driver.implicitly_wait( 10 

driver.get(' C:\\ \\ 86136 PycharmProjectsユーザー\\ \\ \\ updata_file.htmlスパイダー' 

位置付けアップロードローカルファイルのアップロードするボタン 
driver.find_element_by_name(' ファイル').send_keys(" :\\ App_name.txt Dを"

  結果は:

 

 

  この方法のアップロードでは、オペレーティング回避のWindows ステップ制御を。アップロードされた検索の場合は、入力タグ、とても基本的にそれができsend_keys()ファイルへの入力アドレスアップロード実施形態の方法。

 

  二、AutoItのアップロードに

 

  AutoItの最新版は、v3のそれは使用するのと同様である、BASIC なるように設計されたフリーウェアのスクリプト言語、GUIのWindows (グラフィカルユーザインタフェース)自動テストを。これは、シミュレートし、キーストローク、マウスの動きやウィンドウを使用しています/ 制御タスクの組み合わせを自動化します。

 

  公式サイト:https://www.autoitscript.com/site

 

  公式サイトからダウンロードした AutoItのインストールが完了すると、インストール、あなたは次のメニューに見られるのAutoIt メニュー:

 

  Windowsの情報のAutoIt :識別するために使用される、Windowsの制御情報を。

 

  コンパイルto.exeスクリプト:用のAutoItが生成exeファイルは、スクリプトを実行します。

 

  スクリプトを実行:実行するために使用されるのAutoIt スクリプトを。

 

  スクリプトエディタSciTEの:書き込み用のAutoIt スクリプトを。

 

  以下は、上記で動作する HTMLを説明するための一例として、コードのAutoIt アップロードプロセス。

  1. まず、オープンのAutoItのWindows情報ツールは、クリックしてマウスを使用してFinderのツールの下に示すように、小さなマウスアイコンは、扇状に変わります。

  

 

 

 道を開いた後:

  

 

  :プレスマウスの左ボタンを押したままで、コントロールにドラッグし(そのように識別される、以下に示すように、「開く」ボタンコントロール):

  

 

 

 

  ファイル名]ボックスに入力してクラスを「の編集インスタンスは「ある1 」、そうClassnameNNは「などEDIT1 開くには、」ボタンクラス「としてボタンがインスタンス「である1 ので、」ClassnameNN 「などのボタン1

  

 

 

  AutoItのWindowsの情報は、制御情報、オープンに識別SciTEのスクリプトエディタの編集、書き込みのAutoIt スクリプト。次のスクリプトを入力します。

 

; ControlFocus(" タイトル"" テキスト"、controlID)Editel =編集インスタンスは1 
ControlFocus(" 打开""" " EDIT1 " 

;待機 10秒のためのアップロードウィンドウが表示される
WinWaitを(" [CLASS:#32770] " ""、10 

;設定の編集フィールド上のファイル名]テキスト
ControlSetText(" 打开" "" " EDIT1 "D:\ App_name.txt " 
スリープ( 2000 

; [開く]ボタンをクリックします
ControlClick(" 打开" "" " ボタン1 ");

  ControlFocus()メソッドを識別するために使用され、Windowsのウィンドウを。WinWatit()メソッドは、設定10 表示ウィンドウを待って、秒。ControlSetText()メソッドは、「ファイル名」の入力ボックスにファイルをアップロードするローカルパスを入力するために使用しました。ここでスリープ()とメソッドのpython 時間モジュールが提供するスリープ()を利用する方法として、それはミリ秒単位であり、スリープ(2000)は、固定スリープ表す2000 ミリ秒。ControlClick()は、ウィンドウをアップロード「開く」ボタンをクリックするために使用されます。

  AutoIt スクリプトには、すでにメニューバー「で、書かれたツール> ゴー(または」F5 スクリプトを実行します)。  

  

 

 

 

  注:長期的には窓が開いて転送する必要があります。 

  3.ファイル名を指定して実行の仕事へのスクリプトは、として保存 file.au3のファイル。スクリプトはでここに保存することができますスクリプトの実行それを実行開くためのツールを、私たちの目的は、スクリプトがあるという希望にあるPythonの発信者として生成する必要があるexeファイルのプログラム。オープンコンパイルスクリプトto.exeのように生成される工具、EXE 以下に示すように、実行可能ファイル:

  

 

 

 

  クリックし、「参照」ボタンを選択しfile.au3 ファイルを、「クリックのために変換生になるためのボタン」FILE.EXE プログラムを。

  4. 自動テストスクリプトによって、次のコール FILE.EXE アップロードするプログラム。

 

 

 

セレンROM インポートwebdriverを
 インポートOS 
ドライバー = webdriver.Chrome()
driver.implicitly_wait( 10 

オープンアップロードページの 
driver.get(' C:\\ \\ PycharmProjectsユーザー86 136 \\ \\ \\ updata_file.htmlスパイダー' 

アップロードする[開く]をクリックし、ウィンドウ 
driver.find_element_by_name(' ファイル' ).click() 

呼び出しFILE.EXEアップローダー 
os.system(" D:\\ FILE.EXE "

  介してシステム()メソッド呼び出して実行することができるFILE.EXE プログラム。

  このアプローチは、操作上の問題ファイルのアップロード(またはダウンロードファイル)を解決することができますが、私が原因でこのソリューションをお勧めしませんがパイソンと呼ばれるexeファイルのプログラムではありませんパイソン制御可能範囲。言い換えれば、exeファイルにエラーが発生したかどうかをどのくらいの実行は、Pythonのプログラムが知られていません。

 

おすすめ

転載: www.cnblogs.com/lirongyang/p/11459684.html