当前位置: 首页 > 知识库问答 >
问题:

无法在EditText字段中发送键

仲孙英才
2023-03-14
/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup/android.support.v4.view.ViewPager/android.view.ViewGroup/android.widget.EditText[1]
@FindBy(id = "test_number")
public WebElement testNumberTextField;
    public void enterTestNumber(){
    //List<WebElement> menu22 =drive.getDriver().findElements(By.className("android.widget.EditText"));
   // menu22.get(1).sendKeys(randomStringGeneratorMethods.randomAlphaNumericString(7));
    testPage.testNumberTextField.sendKeys(randomStringGeneratorMethods.randomAlphaNumericString(7));
    //js.executeScript("document.getElementById('"+testPage.testNumberTextField+").value='"+randomStringGeneratorMethods.randomAlphaNumericString(7)+"';");
    }
public String randomAlphaNumericString(int characterLength) {
    return RandomStringUtils.randomAlphanumeric(characterLength);
}

有没有人知道如何让它工作,以便它可以在edittext字段中键入文本?

共有1个答案

袁波
2023-03-14

由于元素在webview中,您需要使用Chrome/Firefox找到元素html,因为android ui自动程序无法检测到该元素。

要获得元素的html,您需要将您的设备与chrome连接并转到chrome://inspect,现在在应用程序中操作并打开webview,一旦打开webview,您就会在chrome://inspect链接中找到您的设备,您需要从那里选择您的设备,您就会看到webview的副本,从那里您可以检查元素并找到元素的html,使用该html您就可以获得XPath。

现在您已经获得了xpath,只需将驱动程序从代码切换到webview,然后就可以使用sendkeys()方法在字段中输入值。

 类似资料:
  • 我在尝试发送超文本传输协议/2请求时遇到了使用gatling工具的问题。 我在协议设置中启用了超文本传输协议/2设置,甚至添加了映射以确保客户端将使用http2与服务器通信,但仍然使用超文本传输协议/1.1发送请求。 在控制台输出中,您将看到服务器可以使用http2进行通信,但由于某些原因,请求仅使用http1.1发送。 所有标题都是根据浏览器中的标题编写的。 有人能帮我解决这个问题吗? 在控制台

  • 问题内容: 我的项目中有一个EditText字段,该字段代表该人的全名,因此我只允许在其中包含字母和空格,因此我在文件中尝试了以下内容 但这没有用,有人可以告诉我怎么做吗? 问题答案: 试试这个:

  • 当通过文本字段(使用)发送键时,javascript不会捕捉keypress事件,因此ajax live search无法触发。当手动完成时,它工作得很好。 只有在通过selenium webdriver代码执行时才会出现问题。 任何特定的或最佳的实践来按下一个键,以便ajax live search在执行过程中工作?

  • 我正在尝试刮这个url https://www.veikkaus.fi/fi/tulokset#!/tarkennettu-haku 刮伤主要有三个部分: null 我刚刚意识到,当选中时,输入字段从#date-range#from-date变为#date-range#from-date#focus-visible

  • 我试图点击支付信息的输入字段,然后提交这些输入字段的关键字。我发现它们在iframes,但我没有运气切换到不同的帧。我附上了html的图片以及页面的样子。任何帮助都将不胜感激!下面是我的代码: 输入字段/字段的html和屏幕的图像

  • 我在selenium查找输入文本字段时遇到了问题--'billing-address__line-1我使用的代码是- 错误信息 线程“main”org.openqa.selenium.nosuchelementException:没有这样的元素:无法定位元素:{“method”:“xpath”,“selector”:“.//fieldset[.//input[@id='billing-addres