2017-10-15 6 views
0

私はテキストファイルからWebフォームを埋め込むタスクを自動化しました。このテキストファイルはかなり大きくなり、selenium + python3のsend_keys()関数を使用するとかなりの時間がかかります。Python 3では、Seleniumのsend_keysより高速な代替手段がありますか?

コピー/ペーストの仕組みと同じように、はるかに高速な選択肢がありますか?

これは私が私のスクリプトでそれを使用している方法です:

reportFile = open(reportFilePath,'r') 

for line in reportFile.read(): 
    messageElem.send_keys(line) 
reportFile.close() 

私がオンライン見てきたとしかJSでの選択肢があります。私はPython 3でファイルからテキストを追加するより速い方法を探しています。

+0

あなたが何を求めているのか不明です。なぜあなたは行を送ることができるのですか?また、ファイル全体を一度に変換して文字列として送ることも可能です。 –

+0

SeleniumのJavaおよびJavascriptクライアントAPIでは、sendKeys()は文字列配列を引数として受け取ります。ファイルを行に入れ、一回だけsend_keys(行)を呼び出します。またはファイルを単一の文字列に読み込んだ後、send_keys(content)を1回呼び出します。あなたが望むように上記のすべてが速くない場合は、Pythonを使用して、マシンにインストールされたテキストエディタでレポートファイルを開くコマンドを実行し、テキストエディタにフォーカスし、CTRL + AおよびCTRL + Cを使用して、ページ、send_keys(CTRL + V) – yong

答えて

0

実際、Visweswaran Nagasivamは正しいです。私は文字でファイルを読んでいた。私にとって適切な方法は、readlines()関数を使用することでした。

#open the report file 
reportFile = open(reportFilePath,'r') 

#iterate over each line of the report file and fill in the message body 
for line in reportFile.**readlines**(): 
    messageElem.send_keys(line) 

#close the file 
reportFile.close() 
関連する問題