【问题标题】:Accessing drop down value in mobile app using appium使用 appium 在移动应用程序中访问下拉值
【发布时间】:2020-08-14 01:04:10
【问题描述】:

我使用 Selenium 登录了一个应用程序进行注册,我必须从国家/地区列表中选择一个国家/地区。如何选择特定国家/地区,例如使用 appium 命令从“国家/地区”下拉列表中选择“印度”?

我尝试使用:

driver.scrollToExact("India").click()

但它不起作用。

【问题讨论】:

  • 它将根据您所在的屏幕起作用。因此您可以滚动到屏幕上可见的元素,除非您在显示的列表中找到“印度”。

标签: selenium appium


【解决方案1】:

您可以单击微调器,然后从下拉列表中找到国家“印度”。 试试这个

driver.findElement(By.id("xpath_of_spinner")).click();
driver.findElement(By.name("india")).click();

【讨论】:

    【解决方案2】:

    您可以向下滚动直到找到元素:

    public void scrollDownAndClickIfElementPresent(String name) {
            for (int i = 0; i < 10; i++) {
                if (isElementPresent(name)) {
                    tapOnElement(name);
                    break;
                }
                else{
                    scrollDown();
                }
            }
    
     public void scrollDown() {
            Dimension size = driver.manage().window().getSize();
            int x = size.width / 2;
            int starty = (int) (size.height * 0.60);
            int endy = (int) (size.height * 0.10);
            driver.swipe(x, starty, x, endy, 2000);
        }
    
     public boolean isElementPresent() {
            try {
                driver.findElementByName("india");
                return true;
            } catch (Exception e) {
                return false;
            }
        }
    }
    

    【讨论】:

      【解决方案3】:

      更好的方法是使用 XPath 找到下拉列表的位置,然后再次找到合适的 XPath 来定位您要选择的元素。如果您对如何找到 XPath 有任何说明,请告诉我.

      【讨论】:

        【解决方案4】:

        先写下方法

         public void **scrollToExactElement**(String str) {
                ((AndroidDriver<MobileElement>) driver).findElementByAndroidUIAutomator(
                        "new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().text(\""
                                + str + "\").instance(0))").click();
            }
        

        //这将滚动您的列表 driver.switchTo();

        现在写 scrollToExactElement("india");

        【讨论】:

          猜你喜欢
          • 2018-02-05
          • 2017-03-23
          • 1970-01-01
          • 2016-07-22
          • 1970-01-01
          • 2015-07-22
          • 2018-12-19
          • 2016-07-26
          • 1970-01-01
          相关资源
          最近更新 更多