gpt4 book ai didi

spinner - 如何使用 appium 从混合应用程序的下拉列表中选择值?

转载 作者:行者123 更新时间:2023-12-05 06:35:15 24 4
gpt4 key购买 nike

我对 appium 比较陌生,并且积极参与了一个 poc。要求是从下拉列表中选择一个值,但是我可以单击微调器元素,但我的 uiautomator 无法识别下面的任何内容。结果我无法从微调器元素中选择任何值。我附上了脚本的代码块以及元素树快照。

 //trying to click the dropdown list
try{
WebElement parentElement1 = driver.findElement(By.id("retProdOp0"));
WebElement childElement1 = parentElement1.findElement(By
.xpath("//android.view.View[@index='1']"));
childElement1.click();
driver.label("dropdown list 2nd element clicked");
}catch(Exception e){
driver.label("Failed to click dropdown list on prodexchg screen");
System.out.println(e.getMessage());
}

Snapshot1

Snapshot2

我想从 Snapshot2 中微调器的下拉列表中选择值。但是我无法在 uiautomator 中找到它们。寻求帮助。提前致谢。

最佳答案

以下解决方案将为您提供帮助。如果没有,请告诉我。

  1. 从您的对象属性来看,您现在似乎处于 Native 上下文中。因此,在选择下拉项之前,请更改为 Web 上下文。

driver.Context = "WebContext"; 或者

driver.Context = "CHROMIUM";

您的 webcontext 的名称可以不同2. 现在选择元素,就像在 web 中使用 selenium webdriver 一样

选择 dropdown = new Select(driver.findElement(By.id("mySelect")));
dropdown.selectByVisibleText("文本");

  1. 现在您可以根据需要切换回混合应用程序的 native 上下文。

注意:要查找 webcontext 的属性,您可以获取源代码或在浏览器中转到 web URL。

关于spinner - 如何使用 appium 从混合应用程序的下拉列表中选择值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49758547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com