Il semble que cela ne peut pas être pris. Vous ne pouvez pas "faire défiler jusqu'à cet élément" car vous ne pouvez pas l'obtenir en premier lieu. J'ai glissé correctement quand je l'ai fait, mais je ne connais pas la bonne méthode (stable).
J'ai pu l'obtenir avec des fonctions de type findElement jusqu'à il y a quelque temps, mais maintenant cela ressemble à ceci
python
appiumDriver.switchTo().alert().accept();
//appiumDriver est une instance d'AppiumDriver
Lors de l'affichage de l'écran avec Webview ou de l'affichage de l'écran en fonction des informations du réseau, le chargement peut ne pas être terminé avant l'expiration du délai. Vous pouvez ajouter des poids normalement, mais si vous réessayez plusieurs fois, vous pouvez gagner du temps. Mais en général, vous devriez vous demander pourquoi c'est si lourd.
python
/*
*Une fonction qui ne fait que serrer l'exception du sommeil
*/
static public void sleep(int millis) {
try {
Thread.sleep(millis);
} catch (Exception e) {
//Comme il ne s'agit que d'un poids, l'exception est de ne sortir que la trace de pile et de la presser de manière appropriée
e.printStackTrace();
}
}
/**
* try find element /retry/ times.
* @param by
* @param retry
* @return
*/
public WebElement findElementByXPathSometime(final String by, final int retry){
int count;
RuntimeException ex=null;
WebElement elem;
for(count = 1;count<=retry;count++) {
try {
logger.debug("try to get element : " + by.toString());
//enregistreur log4j
elem = appiumDriver.findElementByXPath(by);
//appiumDriver est une instance d'AppiumDriver
return elem;
}catch(RuntimeException e) {
ex = e;
logger.debug("failed to get element");
sleep(5000);
}
}
Il y a un élément auquel «WebElement # click ()» ne répond pas. Peut-être qu'il ne répond pas aux éléments de Webview, alors procédez comme suit:
python
WebElement element = findElementByXPathSometime(AppElements.SETTING,20);
new TouchAction(appiumDriver).tap(element).perform();
//appiumDriver est une instance d'AppiumDriver
Ce n'était plus possible. Pour une raison quelconque, je ne trouve pas l'élément avec ʻAppiumDriver # findElementBy Hogehoge () `.
python
(new TouchAction(appiumDriver)).tap(123, 456).perform();
//Appuyez de force sur la zone de texte
sleep(1000);
appiumDriver.getKeyboard().pressKey("nyuuryokusitaimoziretu");
Notez que ʻAppiumDriver # getKeyboard () `échoue car le clavier logiciel n'apparaît pas lorsque le clavier dur est activé dans le simulateur iOS. inconvénient.
Recommended Posts