2017-12-14 23 views
0

私はあなたのために質問を受けました。Appium python:multiple click

私のアプリケーションでは、ボタンで複数の時間(10)をクリックしたいと思います。

: は、しかし、タップオプションを受け入れていないアプリケーションなので、次のコードのdoesntの仕事:私は「しばらく」に設定した場合

  multi_click = TouchAction(self.driver) 
     multi_click.tap(self.driver.find_element_by_id('logo'),0,0,8) 

、クリックアクションは、複数のクリックとしてcomptedするにはあまりにも遅いです

 while i < 10: 
     self.driver.find_element_by_id('logo').click() 
     i+= 1 
     print (i) 

ご存知ですか?

よろしくお願いします。

+0

を役に立てば幸い

​​

はあなたがコメントアウトも実行しようとしているコードですか?そうでない場合、あなたの質問のコードはなぜコメントアウトされていますか? – Haem

+0

いいえ、それはコメントされていません、ちょうど悪いコピーと貼り付け –

+0

されています。私の問題について考えてみませんか? –

答えて

0

このようなマルチクリックにADBを使用しようとしましたか?

はこれがわからない100%動作しますし、今それをテストすることができない場合...

def sendClickByAdb(self, logo): 
    x = logo.location['x'] 
    y = logo.location['y'] 
    procId = subprocess.Popen('adb shell', stdin = subprocess.PIPE) 
    while i < 10: 
     procId.communicate('input tap '+str(x)+' '+str(y)) 
     i+=1 
     print(i) 

...擬似コードであり、あなたが知る必要がある唯一のものは、そのメソッドを呼び出すことです。私はそれが

+0

返信ありがとうございます 問題は同じですが、各クリック間の遅延はメソッドで最大1〜2秒です。 アプリはダブル/トリプル/クリックとして表示されません –

+0

XとYの座標を保存して、cmdに移動し、 "adb shell input tap xy"と入力して、 ? 私はそれが動作しないだろうと思うが、その後、それぞれのタップのためのスレッドを使用して私のpythonメソッドを試す必要があります – barbudito

+0

とbtw ...別のもの...これを試すことができますか? procId.communicate( '入力タップxy \ n入力タップxy \ n入力タップxy \ n入力タップxy \ n入力タップxy \ n入力タップxy .....' – barbudito

0

この要素をクリックすると、別の画面へのナビゲーションが生成されますか?

もしそうでなければ、要素を1回だけ(ループの外で)検索しましたか?

おそらくもっと速くなります。

logo = self.driver.find_element_by_id('logo') 
while i < 10: 
    logo.click() 
    i+= 1 
    print (i) 
+0

あなたの返信ありがとう しかし、各クリックの間の遅延はあなたの方法で最大1〜2秒です。これはループ上のelement.clickと全く同じです... –