有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用自动化Selenium将值插入文本字段

我已经使用自动化代码(Selenium)登录到一个网站页面,但现在有一些字段需要输入数据 但是如何使用硒来做到这一点呢? 如何为它编写代码


共 (5) 个答案

  1. # 1 楼答案

    使用以下代码行在文本中插入值

        WebElement Element1 = driver.findElementByName("abc");
        Element1.sendKeys("value that you want to enter.");
    
  2. # 2 楼答案

    搜索要填写的字段时,右键单击网页中的元素,然后单击“检查元素”。该ID应该在弹出菜单中突出显示,这将是您在seleniums API的“By.xpath()”方法中指定的ID

    下面是一个关于如何填写Gmail字段的示例

        System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
        DesiredCapabilities capabilities = DesiredCapabilities.firefox();
        capabilities.setCapability("marionette", true);
        WebDriver driver = new FirefoxDriver();
        driver.get(Links.Register_Gmail);
        driver.findElement(By.xpath("//*[@id='FirstName']")).sendKeys(firstname);
        driver.findElement(By.xpath("//*[@id='LastName']")).sendKeys(lastname);
        driver.findElement(By.xpath("//*[@id='GmailAddress']")).sendKeys(username);
        driver.findElement(By.xpath("//*[@id='Passwd']")).sendKeys(password);
        driver.findElement(By.xpath("//*[@id='PasswdAgain']")).sendKeys(password);
        driver.findElement(By.xpath("//*[@id='BirthMonth']")).click();
        driver.findElement(By.xpath("//*[@id=':" + random(1, 9) + "']")).click();
        driver.findElement(By.xpath("//*[@id='BirthDay']")).sendKeys("" + random(1, 27));
        driver.findElement(By.xpath("//*[@id='BirthYear']")).sendKeys("" + random(1950, 1990));
        driver.findElement(By.xpath("//*[@id='Gender']")).click();
        driver.findElement(By.xpath("//*[@id=':f']")).click();
        driver.findElement(By.xpath("//*[@id='submitbutton']")).click();
        driver.findElement(By.xpath("//*[@id='tos-scroll-button']")).click();
        driver.findElement(By.xpath("//*[@id='tos-scroll-button']")).click();
        driver.findElement(By.xpath("//*[@id='tos-scroll-button']")).click();
        driver.findElement(By.xpath("//*[@id='iagreebutton']")).click();
    
  3. # 3 楼答案

    使用sendKeys方法

    driver.findElement(By.id("InputBox_ID")).sendKeys("Test data");
    
  4. # 4 楼答案

    你可以使用下面的方法,在任何你想输入文本的地方调用它

    public static void enterTextInput(WebElement element, String value) throws InterruptedException{
        String val = value; 
        element.clear();
        Thread.sleep(1000);
    
        for (int i = 0; i < val.length(); i++){
            char c = val.charAt(i);
            String str = new StringBuilder().append(c).toString();
            element.sendKeys(str);
        }   
        Thread.sleep(1500);
    }
    
  5. # 5 楼答案

    只需右键单击要填充的字段,然后单击inspect即可。如果使用firefox,则使用firepath非常简单。但如果使用chrome,则只需右键单击字段,单击inspect元素,找到该字段的唯一id,并将其放在下面几行中 驾驶员findelement(By.id(“”)。sendelement(“”), 如果发现其他独特的内容,可以使用不同于id的字段