(java)selenium webdriver学习,选择模块,点击下一页,获取当前url
selenium webdriver学习,选择模块,点击下一页,获取当前url
查找下一页有多种方法,这里列举两种;
isSelected()函数用于判断是否点击选中,返回Boolean类型
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver; import java.util.List; import com.thoughtworks.selenium.Wait.WaitTimedOutException; public class YsfTest_20180720 { //主方法
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://edu.csdn.net/");
//选择模块,linktext就是链接文本,我们可以通过linktext来查找元素
WebElement searchBox = driver.findElement(By.linkText("课程"));
//点击该模块
searchBox.click();
//选择下一页模块,通过css选择器来定位元素,查找下一页按钮
WebElement searchNext = driver.findElement(By.cssSelector("a[class='btn btn-xs btn-default btn-next']"));
//查找下一页的第二种写法
//WebElement searchNext = driver.findElement(By.cssSelector(".btn.btn-xs.btn-default.btn-next"));
//查看该元素是否被选中,如果没有被选中,则点击选中
if(!searchNext.isSelected()){
//翻一页
searchNext.click();
}
//等待5s
Thread.sleep(5000);
//去当前url
String current_url = driver.getCurrentUrl();
System.out.println(current_url);
//关闭窗口
driver.close();
}
}
本例主要用到:通过linktext来查找元素
(java)selenium webdriver学习,选择模块,点击下一页,获取当前url的更多相关文章
- (java)selenium webdriver学习---三种等待时间方法:显式等待,隐式等待,强制等待
selenium webdriver学习---三种等待时间方法:显式等待,隐式等待,强制等待 本例包括窗口最大化,刷新,切换到指定窗口,后退,前进,获取当前窗口url等操作: import java. ...
- (java)selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致
描述:selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致,若一致则切换到该窗口并获取标题 跳出if判断,获取父级标题,并关闭 HTML标签不太明显时,可以用路径表示 ...
- (java)selenium webdriver学习--通过id、name定位,输入内容,搜索,关闭操作、通过tagname查找元素
selenium webdriver学习--通过id.name定位,输入内容,搜索,关闭操作:通过tagname查找元素 打开谷歌浏览器,输入不同的网站,搜索框的定位含有不同元素(有时为id,有时为n ...
- (java)selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出
selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出: 该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况, 注意一定是自己拼接的url可以 ...
- Java+Selenium 上传文件,点击选择“浏览文件”按钮,报错invalid argument
Java+Selenium 上传文件,点击选择"浏览文件"按钮,报错invalid argument 解决代码: Actions action=new Actions(driver ...
- selenium webdriver学习(四)------------定位页面元素(转)
selenium webdriver学习(四)------------定位页面元素 博客分类: Selenium-webdriver seleniumwebdriver定位页面元素findElemen ...
- Selenium webdriver 学习总结-元素定位
Selenium webdriver 学习总结-元素定位 webdriver提供了丰富的API,有多种定位策略:id,name,css选择器,xpath等,其中css选择器定位元素效率相比xpath要 ...
- selenium webdriver学习(六)------------如何得到弹出窗口
selenium webdriver学习(六)------------如何得到弹出窗口 在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候.当时还整理 ...
- selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面(转)
selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面 博客分类: Selenium-webdriver 元素拖放drag and drop Q群里 ...
随机推荐
- python基础教程(2)
Python 基础教程 Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言. 执行Python程序 对于大多数程序语言,第一个入门编程代码便是 "Hello World!& ...
- kubelet tls
当成功签发证书后,目标节点的 kubelet 会将证书写入到 --cert-dir= 选项指定的目录中:此时如果不做其他设置应当生成上述除ca.pem以外的4个文件 kubelet-client.cr ...
- 向php数组函数array_colum()传入奇怪的数组
<?php // 向php数组函数array_colum()传入奇怪的数组 // array_colum()函数 返回行列数组的其中一列,可以用其他列的键充当键 $arr = [ [ 1, 2, ...
- mysql网文收录
1.分布式事务 1) 聊聊分布式事务,再说说解决方案 https://www.cnblogs.com/savorboard/p/distributed-system-transaction-cons ...
- python多线程爬取世纪佳缘女生资料并简单数据分析
一. 目标 作为一只万年单身狗,一直很好奇女生找对象的时候都在想啥呢,这事也不好意思直接问身边的女生,不然别人还以为你要跟她表白啥的,况且工科出身的自己本来接触的女生就少,即使是挨个问遍,样本量也 ...
- backpropagation algorithm
搞卷积神经网络的时候突然发现自己不清楚神经网络怎么训练了,满脸黑线,借此机会复习一下把. 首先放一位知乎大佬的解释.https://www.zhihu.com/question/27239198?rf ...
- Matlab单例模式
classdef SingletonClass < handle methods(Access = private) function obj = SingletonClass() disp(' ...
- js(es6)数组去重
// 利用set.reduce.filter去重 // Set function getSetArr(arr) { return [...new Set(arr)] } console.log(get ...
- python+selenium爬取关键字搜索google图片
# -*- coding: utf-8 -*- import json import os import time from multiprocessing import Pool import mu ...
- RabbitMQ实战场景(一):异步记录用户操作日志
传统的项目开发中业务流程以串行方式,执行了模块1—>模块2–>模块3 而我们知道,这个执行流程其实对于整个程序来讲是有一定的弊端的,主要有几点: (1)整个流程的执行响应等待时间比较长; ...