zoukankan      html  css  js  c++  java
  • selenium 操作文本框(textarea输入)

    selenium 对文本框的输入操作一般有两种形式,传统的是直接通过定位元素通过sendKeys()方法直接在文本框中输入信息。但有时候我们可以通过id 的方式将其进行定位,但却不能通过sendKeys()向文本框中输入文本信息。

    这种情况下,也需要借助JavaScript 代码完成输入。

     HTML代码

    <textarea id="id" style=" 98%" cols="50" rows="5" class="txtarea">
    </textarea>
    ...
    ...

    第一种:

    driver.findElement(By.id("id")).sendKeys("需要输入的内容");

     1 public static void main(String[] args) throws InterruptedException {
     2     System.setProperty("webdriver.chrome.driver", "D:/chromedriver_win32/chromedriver.exe");
     3     ChromeOptions Options = new ChromeOptions();
     4     Options.addArguments("user-data-dir=C:\Users\happy\AppData\Local\Google\Chrome\User Data");
     5     WebDriver driver = new ChromeDriver(Options);
     6     driver.manage().window().maximize();
     7     try {
     8     driver.get("file:///C:/Users/happy/Desktop/NewFile.html");
     9     driver.findElement(By.id("id")).sendKeys("需要输入的内容");
    10     } finally {
    11         Thread.sleep(5000);
    12     driver.close();
    13     driver.quit();
    14     }
    15 }

    第二种:

    通过executeScript()执行JavaScript 代码。来实现文本框操作。

     1 public static void main(String[] args) throws InterruptedException {
     2     System.setProperty("webdriver.chrome.driver", "D:/chromedriver_win32/chromedriver.exe");
     3     ChromeOptions Options = new ChromeOptions();
     4     Options.addArguments("user-data-dir=C:\Users\happy\AppData\Local\Google\Chrome\User Data");
     5     WebDriver driver = new ChromeDriver(Options);
     6     driver.manage().window().maximize();
     7     try {
     8     driver.get("file:///C:/Users/happy/Desktop/NewFile.html");
     9     String text = "input text";
    10     String js = "var sum=document.getElementById('id'); sum.value='" + text + "';";
    11     ((JavascriptExecutor)driver).executeScript(js);
    12     } finally {
    13         Thread.sleep(5000);
    14     driver.close();
    15     driver.quit();
    16     }
    17 }

      

  • 相关阅读:
    问题:使用pandas中的DataFrame写入csv文件多出一行unnamed,如何解决呢??
    使用pandas进行数据分析-pandas库介绍之DataFrame基本操作
    【USACO 2017 February Gold】Problem 3. Why Did the Cow Cross the Road III
    JZOJ【USACO 2017 December Silver】Milk Measurement
    JZOJ.2020.05.23【NOIP提高组】模拟(反思)
    PRIM+KRUSKAL
    draggable
    easyUI使用的两种方法
    MySQL 常见函数
    jdbc,hibernate,mybatis调用存储过程
  • 原文地址:https://www.cnblogs.com/linxinmeng/p/6957091.html
Copyright © 2011-2022 走看看