文档章节

selenium 课题->自动登录签到并且发表评论 什么值得买

redrain脑残粉
 redrain脑残粉
发布于 2015/01/29 17:29
字数 392
阅读 88
收藏 1

   java版本

    

package com.duanpeng.test.version1;

import java.util.Arrays;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
         WebDriver driver = new ChromeDriver();
         driver.get("http://www.smzdm.com");
         driver.manage().window().maximize();
         driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
         driver.findElement(By.id("navBar_login")).click();
         driver.findElement(By.id("user_login")).sendKeys("username");
         driver.findElement(By.id("user_pass")).sendKeys("password");
         driver.findElement(By.id("btn_login")).click();
         
         
         (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
             public Boolean apply(WebDriver d) {
                 return d.findElement(By.id("user_info_tosign")).getText().equals("已签到3天");
             }
         });
         
         WebElement element = driver.findElement(By.id("user_info_tosign"));
         
         if(element.getText().contains("已签到")){
        	 System.out.println(element.getText());
         }else{
        	 //触发按钮事件
        	 
         }
         
         WebElement el = driver.findElements(By.className("picLeft")).get(3);
         el.click();
         System.out.println(Arrays.toString(driver.getWindowHandles().toArray()));
         driver.switchTo().window((String)(driver.getWindowHandles().toArray()[1]));
         System.out.println("456:");
         System.out.println("123:"+driver.getTitle());
         driver.findElement(By.id("textareaComment")).click();
         driver.findElement(By.id("textareaComment")).sendKeys("漂亮,就是有点贵啊,叫我屌丝情何以堪!!!");
         driver.findElement(By.id("textCommentSubmit")).click();
         
         System.out.println(driver.getPageSource());
         
         
         try {
			Thread.sleep(10000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
         driver.close();
         
       
    }
}

  python 版本

 

#coding=utf-8
__author__ = 'duanpeng'


from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0

import  time
import  sys

print sys.maxunicode
username = "mrduanpeng@163.com"
password = "123456"

#开启浏览器驱动
driver = webdriver.Chrome()
driver.implicitly_wait(10)
#打开网址
driver.get("http://www.smzdm.com/")
#窗口最大化
driver.maximize_window()
#寻找登录按钮并且点击
driver.find_element_by_id('navBar_login').click()
#输入用户名
driver.find_element_by_id('user_login').send_keys(username)
#输入密码
driver.find_element_by_id('user_pass').send_keys(password)
#点击登录
driver.find_element_by_id('btn_login').click()
#time.sleep(5)


print 'start wait'
WebDriverWait(driver,3).until(lambda driver : driver.find_element_by_id('navBar_login_Info').is_displayed()==True)
print  'end wait'
webElement = driver.find_element_by_id('user_info_tosign')
if(webElement.text ==u'签到领积分'):
    webElement.click()
else:
    print webElement.text

#获取首页的第一条产品
webElement = driver.find_elements_by_class_name('picLeft')[0]
webElement.click()
driver.switch_to.window(driver.window_handles[1])

#睡眠30秒,等待页面AJAX加载完毕
time.sleep(30)
print driver.find_element_by_id('comment_avatar').get_attribute('alt')
#发表评论
WebDriverWait(driver,10).until(lambda driver : driver.find_element_by_id('comment_avatar').get_attribute('alt')==u'silencegg')
driver.find_element_by_id('textareaComment').click()
driver.find_element_by_id('textareaComment').send_keys(u"beautiful! i like it!")
driver.find_element_by_id('textCommentSubmit').click()
time.sleep(5)

#退出驱动
driver.quit()






© 著作权归作者所有

共有 人打赏支持
redrain脑残粉
粉丝 2
博文 11
码字总数 1824
作品 0
深圳
其他
Selenium实战——天猫淘宝京东买家秀

Selenium实战——天猫淘宝京东买家秀 源码地址:https://github.com/edisonleolhl/BuyersShow 1、起因 作为一个关注什么值得买已久的人,作为一个微博都关注了好几个白菜君的人,在各大电商网...

廖少少
01/11
0
0
Python 实现「食行生鲜」签到领积分

用过食行生鲜的同学应该知道,每天可以在食行生鲜签到,签到可以领到 20 积分,在购物时可以抵 2 毛钱。钱虽少,但是积少成多,买菜时可以抵扣一两块钱还是不错的。 今天我们就用 Python 来实...

不正经程序员
08/02
0
0
Selenium+PhantomJS+HeadlessChrome对比

Selenium+PhantomJS+HeadlessChrome对比 C/C++程序员之家2017-11-174 阅读 pythonScrapySeleniumscrapy Headless Chrome 它是指在headless模式下运行谷歌浏览器。本质就是不用谷歌运行谷歌!...

C/C++程序员之家
2017/11/17
0
0
python利用beautifulsoup+selenium自动翻页抓取网页内容

python利用beautifulsoup+selenium自动翻页抓取网页内容 Uncle Chen2016-12-11446 阅读 python技术爬虫 一、背景 记录一次周末在家速成的爬虫实现之旅。受人之托,想要把这个页面 http://bai...

Uncle Chen
2016/12/11
0
0
微信小程序商城更新最新版 v1.6

微信小程序商城更新最新版 v1.6,主要改进内容包括: 1、增加公告功能,可在后台发布公告; 2、合并运费计算模板,删除小程序端计算,统一放在后端接口计算运费; 3、修复部分页面在手机上显...

javazj
2017/09/24
2.5K
11

没有更多内容

加载失败,请刷新页面

加载更多

下一页

[MicroPython]STM32F407开发板驱动OLED液晶屏

1.实验目的 1.学习在PC机系统中扩展简单I/O 接口的方法。 2.进一步学习编制数据输出程序的设计方法。 3.学习 F407 Micropython开发板控制OLED显示字符。 2.所需元器件 F407 Micropython开发板...

bodasisiter
31分钟前
0
0
php require和include 相对路径一个有趣的坑

以前总是被教育,不要使用相对路径,这样性能比较差,但是相对路径的问题不仅仅是性能哦,看下面这里例子 这是项目结构 .├── main.php├── t│ ├── t1.php│ └── t2.php└─...

anoty
31分钟前
15
0
x64技术之SSDT_Hook

测试环境: 虚拟机: Windows 7 64bit 过PG工具 驱动加载工具 PCHunter64 系统自带的计算器和任务管理器等 实现思路: 实际思路与win32的思路一样.都是替换SSDT表里边的函数地址.不过微软被搞怕...

simpower
33分钟前
0
0
TreeMap源码分析,看了都说好

一、简介 TreeMap最早出现在JDK 1.2中,是 Java 集合框架中比较重要一个的实现。TreeMap 底层基于红黑树实现,可保证在log(n)时间复杂度内完成 containsKey、get、put 和 remove 操作,效率很...

Java小铺
43分钟前
0
0
协变、逆变

概念 假设 A、B表示类型 ≤ 表示继承关系 f<⋅>表示类型转换 若A ≤ B,则 A是B的子类,B是A的超类 协变、逆变 什么是型变?型变(type variance)允许对类型进行子类型转换。 为了下面讲解先...

obaniu
49分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部