文档章节

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

redrain脑残粉
 redrain脑残粉
发布于 2015/01/29 17:29
字数 392
阅读 92
收藏 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
超牛!用Python自动玩转2048游戏

本篇作者:BlueDamage 近来在折腾selenium自动化, 感觉配合爬虫很有意思, 大多数以前难以模拟登录的网站都可以爬了,折腾了这么久, 于是想自动玩个2048游戏!嘿嘿, 我是一个不擅长玩游戏的人...

菜鸟学python
2017/11/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

android -------- MVP+DataBinding 的使用

天来说说MVP+DataBinding 的使用 以一个登录案例来讲解 布局:(ConstraintLayout 作为根布局) <layout> <data> <variable name="onClick" ......

切切歆语
32分钟前
1
0
阿里十年Java架构经验总结,这几点尤为重要!

你有没有静下心来思考过:同样是做了x年Java开发,为什么你的技术比别人差很多?为什么别人每月28K你却只有10K? 其实技术水平的高低和个人智商关系不大(毕竟能做Java编程开发大家都不会差)...

别打我会飞
36分钟前
1
0
Ubuntu 中安装和配置 Caddy 服务

首先访问:https://caddyserver.com/download 选择操作系统、插件和授权类型,点击 Download 下载编译好的文件包,或者执行页面最下面的一键安装脚本,完成 caddy 的安装。 安装完成后,/us...

八风不动
51分钟前
2
0
java代码效率优化

1、 尽量指定类的final修饰符 带有final修饰符的类是不可派生的。 2、 尽量重用对象。 3、 尽量使用局部变量,调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较...

踏破铁鞋无觅处
今天
3
0
程序员的几款利器

1. 作为程序员,最希望的就是自己的代码能够在一个云平台上保留下来,gitlab等等这些很多。但是我这里推荐“码云平台”码云平台和开源中国可以直接关联起来。开源中国可以记录博客,当然也是...

ChinaHYF
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部