gpt4 book ai didi

java - Appium 无法在 Android 设备上找到按钮

转载 作者:行者123 更新时间:2023-12-02 09:05:55 26 4
gpt4 key购买 nike

以下是我尝试单击的按钮的 html 代码。

 <Button rounded style={styles.pickBtn} title="get started" onPress={signIn} testID="completeBoarding">
<Text style={styles.pickBtnText}>GET STARTED</Text>
</Button>

这是我尝试用来单击所述按钮的代码。

String xPath = "//button[normalize-space()='GET STARTED']";
AndroidElement searchElement = (AndroidElement) new WebDriverWait(driver, 30).until(
ExpectedConditions.elementToBeClickable(MobileBy.xpath(xPath)));
searchElement.click();

-

AndroidElement searchElement = (AndroidElement) new WebDriverWait(driver, 30).until(
ExpectedConditions.elementToBeClickable(MobileBy.AccessibilityId("get started")));
searchElement.click();

-

AndroidElement searchElement = (AndroidElement) new WebDriverWait(driver, 30).until(
ExpectedConditions.elementToBeClickable(MobileBy.AccessibilityId("GET STARTED")));
searchElement.click();

从上面提供的 html 来看,单击按钮的正确方法是什么?我尝试的上述方法均未成功。每个都失败并显示一条错误消息,指出无法找到该元素。

最佳答案

请尝试使用以下代码进行点击。

String xPath = "//*[@title='get started']";
AndroidElement searchElement = (AndroidElement) new WebDriverWait(driver, 30).until(
ExpectedConditions.elementToBeClickable(MobileBy.xpath(xPath)));
searchElement.click();

使用文本点击:

您可以通过 UiAutomator2 使用 text 进行点击如果您使用 appium 作为自动化引擎,请添加所需的功能 UiAutomator2

capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2");

然后使用这个函数

public void TapByText(String buttonText) {
String buttonName="new UiSelector().text(\"MY_TEXT\")".replace("MY_TEXT", buttonText);
@SuppressWarnings("unchecked")
List<WebElement> el = (List<WebElement>) driver.findElements(MobileBy.AndroidUIAutomator(buttonName));
System.out.println(el.size());
new TouchAction(driver).press(ElementOption.element(el.get(0))).waitAction().release().perform();

}

关于java - Appium 无法在 Android 设备上找到按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59814868/

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