2015-05-06 6 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() дважды и отправить код для удаления выделенной области текста, но как выделить текст?

Интересно, что такая проблема воспроизводится в Sony Xperia z3 compact, android 5.0.1. В lg, nexus android 4.4.5.1 соответственно, приведенный выше код работает хорошо

+0

Почему вы выделяете текст, чтобы очистить его? Просто введите ID/имя/xpath метода поля и пользователя clear(). Это должно быть хорошо. – Gaurav

+0

в Sony Xperia z3 compact clear() не работает – Leo

ответ

2

У меня была такая же проблема с моим приложением для Android, но я занимаюсь автоматизацией в java, поэтому для решения я выполняю команду «Действие дважды» рядом с местоположением элемента, поэтому он выберет весь текст, который уже написан в текстовом поле, и после этого нажимаем на этот символ «вырезать», чтобы он очищал текстовое поле. Я написал метод для отправки ключей в Android-устройстве.

 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. Thanks

+0

нет метода getLocation(). GetX() "в python appium – Leo

Смежные вопросы