selenium webdriver 实现百度贴吧自动签到
public static void main(String[] args) {
//TestUtils.killProcess("javaw.exe");
TestUtils.killProcess("iexplore.exe");
WebDriver driver=ExplorerBase.IESetting();
driver.manage().window().maximize();
String baseUrl= "http://www.baidu.com/";
driver.get(baseUrl);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
String name;
try {
name=driver.findElement(By.id("s_username_top")).getText();
System.out.println(name);
}catch (NoSuchElementException e) {
driver.findElement(By.id("lb")).click();
driver.findElement(By.id("TANGRAM__PSP_10__pass-pop-login-placeholder-normal")).click();
WebElement username=driver.findElement(By.id("TANGRAM__PSP_10__userName"));
username.clear();
username.sendKeys("");//username
WebElement password=driver.findElement(By.id("TANGRAM__PSP_10__password"));
password.click();
password.clear();
password.sendKeys("");//password
driver.findElement(By.id("TANGRAM__PSP_10__submit")).click();
//Assert.assertEquals("x429791240",driver.findElement(By.id("s_username_top")).getText());
}
driver.findElement(By.linkText("贴吧")).click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
WebElement element= driver.findElement(By.id("wd1"));
element.sendKeys("刘诗诗");
driver.findElement(By.id("tb_header_search_form")).submit();
String setscroll = "document.documentElement.scrollTop=100";
JavascriptExecutor jse=(JavascriptExecutor) driver;
jse.executeScript(setscroll);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
try {
WebElement elementSign= driver.findElement(By.xpath("//a[@title='签到']"));
elementSign.click();
System.out.println("亲!签到成功~");
} catch (NoSuchElementException e) {
driver.findElement(By.xpath("//a[@title='签到完成']"));
System.out.println(driver.findElement(By.xpath("//a[@title='签到完成']")).getAttribute("title"));//getText(),获得标签内文本
System.out.println("亲!今天已经签过到了~");
}
driver.quit();
}
public class Cnblogs {
private WebDriver driver;
private String baseUrl;
private boolean acceptNextAlert = true;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
driver = ExplorerBase.IESetting();
baseUrl = "http://www.cnblogs.com";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testCnblogs() throws Exception {
driver.get(baseUrl + "/");
driver.findElement(By.linkText("登录")).click();
driver.findElement(By.id("tbUserName")).clear();
driver.findElement(By.id("tbUserName")).sendKeys("");
driver.findElement(By.id("tbPassword")).clear();
driver.findElement(By.id("tbPassword")).sendKeys("");
driver.findElement(By.id("btnLogin")).click();
assertEquals("苦逼IT男", driver.findElement(By.linkText("苦逼IT男")).getText());
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}
private boolean isAlertPresent() {
try {
driver.switchTo().alert();
return true;
} catch (NoAlertPresentException e) {
return false;
}
}
private String closeAlertAndGetItsText() {
try {
Alert alert = driver.switchTo().alert();
String alertText = alert.getText();
if (acceptNextAlert) {
alert.accept();
} else {
alert.dismiss();
}
return alertText;
} finally {
acceptNextAlert = true;
}
}
}
public class ITeye {
private WebDriver driver;
private String baseUrl;
private boolean acceptNextAlert = true;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
driver = ExplorerBase.IESetting();
baseUrl = "http://www.iteye.com";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testITeye() throws Exception {
driver.get(baseUrl + "/");
driver.findElement(By.linkText("登录")).click();
driver.findElement(By.id("user_name")).sendKeys("TestQA0");
driver.findElement(By.id("password")).sendKeys("654321a");
driver.findElement(By.id("button")).click();
assertTrue(isElementPresent(By.linkText("欢迎TestQA0")));
driver.findElement(By.linkText("退出")).click();
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}
private boolean isAlertPresent() {
try {
driver.switchTo().alert();
return true;
} catch (NoAlertPresentException e) {
return false;
}
}
private String closeAlertAndGetItsText() {
try {
Alert alert = driver.switchTo().alert();
String alertText = alert.getText();
if (acceptNextAlert) {
alert.accept();
} else {
alert.dismiss();
}
return alertText;
} finally {
acceptNextAlert = true;
}
}
}
selenium webdriver 实现百度贴吧自动签到的更多相关文章
- selenium webdriver 登录百度
public class BaiduTest { private WebDriver driver; private String baseUrl; private StringBuffer veri ...
- python3之selenium.webdriver 库练习自动化谷歌浏览器打开百度自动百度关键字
import os,time,threading from selenium import webdriver from selenium.webdriver.common.keys import K ...
- 百度贴吧自动回帖的两种方式,使用requests(urllib2)和selenium两种方式回帖
本文介绍,回复贴吧指定某楼层主的帖子的方法.在这里不介绍无限发主贴和无限回复主贴的方法,无限发主题帖会爆吧,引起别人的反感,并且很容易遭到吧主的封杀:无限回主题帖,会让整个帖子的每楼的回复充满了自己的 ...
- selenium之数据驱动框架应用WPS个人中心自动签到
wps在注册后,有个每日签到的功能,签到后有几率送wps的专属金币[稻米],为了免费获得,又不想每天都是人工去执行签到动作,所以用selenium写了个小脚本,准备用数据驱动框架来完成这个事情,数据驱 ...
- selenium,webdriver模仿浏览器访问百度 基础2
学python理念 : 代码要多敲 一定要多敲 哪怕很基础 注释要清晰 由于基础1有一些注释写的很详细, 在这里有些注释没有写的很详细 可以配合基础1一起学习哦 from selenium im ...
- 【转】Selenium WebDriver + Python 环境
转自:http://www.myext.cn/webkf/a_11878.html 1. 下载必要工具及安装包 1.1 [Python开发环境] 下载并安装Python 2.7.x版本 下载地址:ht ...
- Selenium WebDriver + Python 环境配置
1. 下载必要工具及安装包 1.1.[Python开发环境] 下载并安装Python 2.7.x版本(当前支持2.x版本,不要下载最新的3.X的版本因为python3并非完全兼容python2) ...
- 转载 基于Selenium WebDriver的Web应用自动化测试
转载原地址: https://www.ibm.com/developerworks/cn/web/1306_chenlei_webdriver/ 对于 Web 应用,软件测试人员在日常的测试工作中, ...
- selenium WebDriver 八种定位方式源码
/* * 多种元素定位方式 */ package com.sfwork; import java.util.List; import org.openqa.selenium.By; import or ...
随机推荐
- oracle-数据库被注入恶意攻击程序的案例恢复
问题描述: Oracle数据库由于重启之后无法正常启动,tab$被清空(ORA-600 16703故障解析—tab$表被清空),导致数据库启动异常 ORA-600 16703报错 一.检测方法: 如下 ...
- 外键约束:foreign key
*外键 foreign key* 1.概念:如果一个实体的(student)的某个字段,指向(引用)另个实体(class)的主键 (class:class_id),就称为student实体的class ...
- 每天进步一点点------DE2-70-TV例子说明
module Reset_Delay(iCLK,iRST,oRST_0,oRST_1,oRST_2); input iCLK; input iRST; output reg oRST_0; outpu ...
- argparse 模块使用
import argparse,os data_func=["upload","download"]req_func=["getfunc", ...
- 题解 SP8284 WEIGHT - Weighted Sum
SP8284 WEIGHT - Weighted Sum 题意描述 给出长度为n(n<=1e6)的序列A, A中元素可能为正数,可为负数或0,.让你构造一个长度为n的序列W,给这些整数A赋权,使 ...
- Centos6.10-FastDFS-Tracker.conf示例配置
Centos610系列配置 FastDFS_Tracker.conf示例配置 # is this config file disabled # false for enabled # true for ...
- Java的Path、Paths和Files
前言 因为这几天被java.nio的这几个接口和工具类卡到了,就顺便地查了一波文档以及使用方法,这篇其实更像是API的复制粘贴,只不过我在注释里多写了一些output和注意事项,看不惯API的可以选择 ...
- SpringMVC注解@RequestMapping全面解析
@RequestMapping 可以出现在类级别上,也可以出现在方法上.如果出现在类级别上,那请求的 url 为 类级别上的@RequestMapping + 方法级别上的 @RequestMappi ...
- [采坑记录] OneDrive同步失败 不能自动上传 不能同步 不能登陆
虽然OneDrive送的空间并不大 但是用来传文档什么的还是够了 但是国内各种不舒服 比如说登陆不上(其他的微软系应用解决方法同理) 原因是因为DNS污染的问题 默认电脑链接上网络之后 DNS是路由器 ...
- win10无法登陆SSG进行WEB UI管理
故障描述:尝试登录SSG设备时,无法无法刷出页面,但是设备时可以ping通的(内部接口),可以Telnet上设备,就是无法通过网页登录. 深入测试:win7的系统可以登录,win10的不行,浏览器报协 ...