2015-05-06 80 views
2

如何清除文本編輯字段? android python appium? 我試過這樣:如何清除文本編輯字段? android python appium

el = driver.find_element_by_id('text edit field id').clear() 
    el.click() 
    el.clear() 

但是,它實際上只刪除一個符號。

我想可能通過調用el.click()兩次併發送鍵碼來刪除突出顯示的文本區域,但是如何突出顯示文本?

有趣的是,這樣的問題再現在索尼Xperia z3緊湊,android 5.0.1。 在LG的Nexus的Android 4.4,5.1因此,上面的代碼工作得很好

+0

爲什麼突出顯示文本以清除它?只需獲取字段和用戶clear()方法的ID /名稱/ xpath即可。它應該是好的。 – Gaurav

+0

in Sony Xperia z3 compact clear()does not work – Leo

回答

2

我曾面臨同樣的問題,我的Android應用程序,但我做java開發的自動化,因此該解決方案我是位置附近進行兩次輕擊動作的元素,所以它會選擇已經寫在文本字段中的所有文本,然後單擊該「剪切」符號,以便它將清除文本字段。 我已經寫在Android設備的sendkeys方法。

 public void typeForAndroid(AppiumDriver appiumDriver,WebElement ele,String text) 
{ 
    if(ele.getText().isEmpty()) 
    { 
     ele.sendKeys(text); 
    } 
    else 
    { 
    TouchAction action=new TouchAction(appiumDriver); 
    action.tap(ele.getLocation().getX()+5, ele.getLocation().getY()+5); 
    action.tap(ele.getLocation().getX()+5, ele.getLocation().getY()+5); 

    appiumDriver.performTouchAction(action); 
    pause(2); 
    try{ 
     appiumDriver.findElementById("android:id/cut").click(); 
    } 
    catch(Exception e) 
    { 
     appiumDriver.sendKeyEvent(67); 
    } 

     pause(2); 
    ele.sendKeys(text); 
    } 
} 

這是爲我工作。我希望這可能適合你。 在這個我已經使用appiumdriver,但你也可以使用androiddriver。 謝謝

+0

在python appium中沒有方法「getLocation()。getX()」 – Leo