无法单击日期选择器按钮以使用 appium 和 java 更改日期

问题描述 投票:0回答:3

我无法单击日期选择器上的月、日、年、hh、mm 按钮来更改值。但是使用 getText 方法我可以读取按钮的名称。

List allButtons = driver.findElements(By.className("android.widget.Button")); System.out.println("上一个日期是"+allButtons.get(0).getText()); allButtons.get(0).click();

Java 代码和 appium 没有显示任何错误并且 testng 测试用例通过了。 请帮忙 无法单击日期选择器按钮以使用 appium 和 java 更改日期

java selenium selenium-webdriver appium
3个回答
0
投票

我建议您使用滑动方法来帮助您滚动日历日期。

例如:

首先点击您的日历图标,然后使用以下代码:

Thread.sleep(3000);
 for(int x=0;x<9;x++)
    {
     // Swipe syntax sould be like this way depending on your needs, you have just need to change points
     //driver.swipe(startx, starty, endx, endy, duration);
        driver.swipe(450,550,350,500,0);  

    }

我使用的循环是从 3 月 1 日滚动到 3 月 10 日,例如您可以根据需要进行更改。 告诉我这是否适合你。


0
投票
driver.findElement(By.xpath("//XCUIElementTypeOther[@name=\"Proposed Insured Information, tab panel\"]/XCUIElementTypeTextField[3]")).click();
        
List <WebElement> values = (List<WebElement>) driver.findElements(By.xpath("//XCUIElementTypePickerWheel"));
        
for (int i=0; i<values.size();i++) 
      `enter code here`{
        System.out.println(values.get(i).getText());
       }
        values.get(0).sendKeys("30");
        values.get(0).sendKeys(Keys.TAB);
        
        values.get(1).sendKeys("November");
        values.get(1).sendKeys(Keys.TAB);
        
        values.get(2).sendKeys("1995");
        values.get(3).sendKeys(Keys.TAB);

-1
投票

您可以按照您尝试的方式单击并选择设备中的日期。您需要使用发送密钥。试试下面的代码:

driver.findElement(By.xpath("//UIAPickerWheel[1]")).sendKeys(Dec);
driver.findElement(By.xpath("//UIAPickerWheel[2]")).sendKeys(04);
driver.findElement(By.xpath("//UIAPickerWheel[3]")).sendKeys(2015);
© www.soinside.com 2019 - 2024. All rights reserved.