当前位置: 首页 > 面试题库 >

如何在文本框中找到并键入内容

郎宏逸
2023-03-14
问题内容
public class testFluent {

WebDriver driver;   
    @Before
        public void setUp(){        
    driver = new FirefoxDriver();
    driver.manage().window().maximize();
    driver.manage().deleteAllCookies();}

         @Test
        public void myFirstFluent(){
        WebElement element;
        driver.get("http://www.yahoo.com");         
        element = myDynamicElement(By.id("//*[@id='p_13838465-p']"));
        System.out.println("Element found");
        }

        public WebElement myDynamicElement(final By locator){

        Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
                    .withTimeout(10, TimeUnit.SECONDS)
                    .pollingEvery(100, TimeUnit.MILLISECONDS)
                    .ignoring(NoSuchElementException.class);

            WebElement element = wait.until(new Function<WebElement, WebDriver>(){

                public WebElement apply(WebDriver drv){
                    return drv.findElement(By.id(locator));
                }
            });

                return element;
        }

    }

我无法找到并以错误结束。

java.lang.Error:未解决的编译问题:Wait类型的until(Function)方法不适用于自变量(new
Function(){})函数无法解析为类型

类型为By的方法id(String)不适用于com.junit.qa.testFluent.myDynamicElement(testFluent.java:49)上的参数(By)


问题答案:

等待,你可以使用这样的东西

    private boolean wAit(String match)
    {
    try
        {
        (new WebDriverWait(driver, 30))
            .until(ExpectedConditions.presenceOfElementLocated (By.xpath(match)));
        return true;
        }
    catch (NoSuchElementException e) {
        return false;
    }
    }

您可以创建上述方法,并在需要等待元素的任何地方使用它。例如

如果要在文本框中写一些东西并想等待文本框加载

wAit(" xpath of the textbox here")
driver.findelements... sendkeys()..

如果需要,您可以更改定位器类型并增加/减少时间限制



 类似资料:
  • 问题内容: 嗨,在我的Java swing应用程序中,当用户在文本字段中键入内容时,我需要显示所有具有相同初始字符的现有条目。假设用户在文本字段中输入字母“ A”,应该是国家/地区,而“非洲”将是建议。这样该用户可以从列表中选择一个。国家列表位于我的数据库中。我知道如何从数据库检索数据。但是我不知道如何列出它们以及应该使用哪些组件。谁能指导我?或者,如果您可以提供示例,那就太好了。 问题答案: 您

  • 问题内容: 在angularjs中,有任何可用的功能,仅允许将数字键入文本框中,例如 问题答案: 此功能正是您所需要的。http://docs.angularjs.org/api/ng.directive:input.number 编辑: 您可以将jquery插件包装到指令中。我在这里创建了一个示例:http : //jsfiddle.net/anazimok/jTJCF/ HTML: CSS:

  • 问题内容: 我有一个ASP.NET核心项目,尝试构建它时出现此错误: 这是我的文件: 这是一个错误还是我做错了什么?我最近确实将Visual Studio 2015升级到了更新3。以前有人遇到过吗? 问题答案: 将一个空的打字稿文件添加到打字稿脚本文件夹(tsconfig文件的位置),以满足打字稿编译器的要求。

  • 问题内容: 如何只允许在此文本框中写入数字? 问题答案: 您可以订阅onkeypress事件: 然后定义函数:

  • 假设我在同一目录中有9个.txt文件。price1.txt价格2.txt价格3.txt是来自不同位置的价格表,行和列名称相应地是经度和海拔高度。year4,5,6.txt和dis7,8,9.txt是与文本1中相同位置的年份和折扣表。 我想创建一个新的数据框,其中每列都是价格、年份、折扣的列表,来自文本1-9,具有相应的经度和姿态。 我能够使用 要读取文件的名称 我能够使用 将每个文件放在一起。 但

  • 我有一个编辑文本框和onClick功能。请告诉如何只在用户单击edittext框插入数据时显示键盘。在正常情况下,键盘在我运行我的应用程序时显示,但我只希望它在用户单击edittext框时显示。