selenium 操作文本框(textarea输入)

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

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

HTML代码

<textarea id="id" style="width: 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 }

  

时间: 2024-10-08 04:09:17

selenium 操作文本框(textarea输入)的相关文章

java+selenium+new——文本框的输入、清空——按钮的单击

package rjcs; import org.openqa.selenium.firefox.FirefoxDriver; public class xinkaishi { public static void main(String[] args) { System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); //设置

JS控制文本框textarea输入字数限制

<html> <head> <title>JS限制Textarea文本域字符个数</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <SCRIPT LANGUAGE="JavaScript"> <!--// function textCounter(field,

js同步获取文本框textarea输入的内容

<textarea name="" cols="" rows="" class="loe_hk10" id="eml" onkeyup="SwapTxt()"></textarea>   <p id="lyny"> </p><!--//这个地方是同步显示内容的 --> <script type=&quo

JS控制文本框textarea输入字数限制的方法

<html> <head runat="server"> <title></title> <script type="text/javascript"> var maxstrlen = 160; function Q(s) { return document.getElementById(s); } function checkWord(c) { len = maxstrlen; var str = c.v

Java+Selenium向文本框输入内容以后模仿键盘的&quot;ENTRY&quot;

在自动化测试中我们避免不了要模仿一些键盘上按钮的操作,普通的字母,数字,特殊符号,这些都是很简单的,有时候我们也会模仿"SHIFT","ALT","CONTROL",这些Selenium已经提供了Action了,具体如下: Actions actions = new Actions(driver); actions.keyDown(Keys.CONTROL);//按下,松开control actions.keyDown(Keys.CONTROL)

html5 textarea 文本框根据输入内容自适应高度

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>文本框根据输入内容自适应高度</title> <style type="t

Jquery实现 TextArea 文本框根据输入内容自动适应高度

原文 Jquery实现 TextArea 文本框根据输入内容自动适应高度 在玩微博的时候我们可能会注意到一个细节就是不管是新浪微博还是腾讯微博在转发和评论的时候给你的默认文本框的高度都不会很高,这可能是版面的限制和用户通常只转播或者评论一个短句有关.但是当你输入超过一行文字的时候,TextArea自动适应高度,大大改善了体验,这样用户就可以看到全部的文字.不用再去拖动文本框的滚动条. 如下图: 这些在平时的项目中挺实用的,所以抽空封装了一个文本框根据输入内容自适应高度的插件 - TextArea

用javascript实现控制一个文本框的输入字数限制,超出字数限制文本框飘红显示-面试题

用javascript实现控制一个文本框的输入字数限制,超出字数限制文本框飘红显示. html <textarea name="" id="text" cols="30" rows="10" maxLength=10></textarea><br> <span id="span"></span> javascript var str = docum

JS实现动态提示文本框可输入剩余字数(类似发表微博数字提示)

一.实现效果: 为了更直观的体现用户在文本框输入文本时能看到自己输入了多少字,项目中需要通过判断提示文本框剩余可输入字数. html & JS: 1 <div> 2 <textarea name="content" id="content" onkeyup="javascript:checkWords(this);" onmousedown="javascript:checkWords(this);"