selenium webdriver学习--通过id、name定位,输入内容,搜索,关闭操作;通过tagname查找元素

打开谷歌浏览器,输入不同的网站,搜索框的定位含有不同元素(有时为id,有时为name)

通过tagname查找元素

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver; import com.thoughtworks.selenium.Wait.WaitTimedOutException; @SuppressWarnings("deprecation")
public class YsfTest_20180719{
public static void main(String[] args) throws InterruptedException{
//加载驱动器
System.setProperty("webdriver.chrome.driver","C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe");
//打开浏览器
WebDriver driver = new ChromeDriver();
//打开网站
driver.get("https://www.baidu.com/");
//通过id定位所搜框
WebElement searchBox = driver.findElement(By.id("kw"));
//输入内容
searchBox.sendKeys("电影");
//定位百度一下按钮
WebElement searchButton = driver.findElement(By.id("su"));
//点击百度一下
searchButton.submit();
//等待5s
Thread.sleep(5000);
//页面关闭
driver.close(); //打开浏览器
WebDriver driver2 = new ChromeDriver();
//打开网站
driver2.get("https://www.douban.com/");
//通过name定位所搜框
WebElement searchBox2 = driver2.findElement(By.name("q"));
//输入内容
searchBox2.sendKeys("电影");
//点击百度一下
searchBox2.submit();
//等待5s
Thread.sleep(5000);
//页面关闭
driver2.close();
//通过tagname查找元素
//打开浏览器
WebDriver driver3 = new ChromeDriver();
//打开网站
driver3.get("https://www.mi.com/");
//通过tagname查找
List<WebElement> scriptList = driver3.findElements(By.tagName("script"));
//查找tagname为script的数量并输出
System.out.println("there are "+scriptList.size()+" script");
//等待5s
Thread.sleep(5000);
//页面关闭
driver3.close();
}
}

本例主要用到//通过id定位所搜框
 WebElement searchBox = driver.findElement(By.id("kw"));

//通过name定位所搜框
 WebElement searchBox2 = driver2.findElement(By.name("q"));

//通过tagname查找
 List<WebElement> scriptList = driver3.findElements(By.tagName("script"));

(java)selenium webdriver学习--通过id、name定位,输入内容,搜索,关闭操作、通过tagname查找元素的更多相关文章

  1. selenium webdriver学习(四)------------定位页面元素(转)

    selenium webdriver学习(四)------------定位页面元素 博客分类: Selenium-webdriver seleniumwebdriver定位页面元素findElemen ...

  2. (java)selenium webdriver学习---三种等待时间方法:显式等待,隐式等待,强制等待

    selenium webdriver学习---三种等待时间方法:显式等待,隐式等待,强制等待 本例包括窗口最大化,刷新,切换到指定窗口,后退,前进,获取当前窗口url等操作: import java. ...

  3. Selenium webdriver 学习总结-元素定位

    Selenium webdriver 学习总结-元素定位 webdriver提供了丰富的API,有多种定位策略:id,name,css选择器,xpath等,其中css选择器定位元素效率相比xpath要 ...

  4. (java)selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出

    selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出: 该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况, 注意一定是自己拼接的url可以 ...

  5. (java)selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致

    描述:selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致,若一致则切换到该窗口并获取标题 跳出if判断,获取父级标题,并关闭 HTML标签不太明显时,可以用路径表示 ...

  6. (java)selenium webdriver学习,选择模块,点击下一页,获取当前url

    selenium webdriver学习,选择模块,点击下一页,获取当前url 查找下一页有多种方法,这里列举两种: isSelected()函数用于判断是否点击选中,返回Boolean类型 impo ...

  7. selenium webdriver学习(六)------------如何得到弹出窗口

    selenium webdriver学习(六)------------如何得到弹出窗口 在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候.当时还整理 ...

  8. selenium webdriver学习(八)------------如何操作select下拉框(转)

    selenium webdriver学习(八)------------如何操作select下拉框 博客分类: Selenium-webdriver   下面我们来看一下selenium webdriv ...

  9. selenium webdriver学习(五)------------iframe的处理(转)

    selenium webdriver学习(五)------------iframe的处理 博客分类: Selenium-webdriver 如何定位frame中元素  有时候我们在定位一个页面元素的时 ...

随机推荐

  1. django models.update

    json/dict类型数据更新字段目前主流的web开放方式都讲究前后端分离,分离之后前后端交互的数据格式大都用通用的jason型,那么如何用最少的代码方便的更新json格式数据到数据库呢?同样可以使用 ...

  2. ATSC/DVB/ISDB三大标准比较

    一.引言  众所周知,模拟电视有NTSC.PAL和SECAM三种标准.目前,数字电视也陷入这种局面,美国.欧洲和日本各自形成三种不同的数字电视标准.美国的标准是ATSC(Advanced Televi ...

  3. FDD与TDD的区别

    LTE通常分为FDD LTE和TDD LTEFDD,频分双工(Frequency Division Duplexing)我和你通信,像广播一样,只能我说你听,是单工:像对讲机一样,同一时间只能一方说, ...

  4. LeetCode 151. 翻转字符串里的单词(Reverse Words in a String)

    151. 翻转字符串里的单词 151. Reverse Words in a String

  5. 多生产者多消费者(第二种方式2.1)基于BlockingQueue

    public class Producer implements Runnable { //静态变量只初始化一次 private static AtomicInteger count = new At ...

  6. IDEA 自定义代码模板

    IDEA 自定义代码模板操作步骤:

  7. Delphi 将视频 Base64 字符串转换为视频二进制文件

    var Bytes: TBytes; Stream: TBytesStream; begin with System.NetEncoding.TBase64Encoding.Create do try ...

  8. Python各个岗位的开发流程

     根据张大美女提供资料微修改,在这谢谢张大美女! 1.python软件开发工程师 1.1 项目启动会 说明项目目标.阶段划分.组织结构.管理流程等关键事项. 1.2 需求调研 由用户提出,描述产品的功 ...

  9. foreach引用坑

    先看下面代码 $arr1 = [1, 2]; foreach($arr1 as $key => $value) { $value = $value + 1; } var_dump($key, $ ...

  10. 缺陷的背后(四)---多进程之for循环下fork子进程引发bug

    导语 业务模块为实现高并发时的更快的处理速度,经常会采用多进程的方式去处理业务.多进程模式下常见的三种bug:for循环下fork子进程导致产生无数孙子进程,僵尸进程,接口窜包.本章主要介绍第一种常见 ...