[4]Selenium学习系列----登录CSDN并为第一篇置顶文章加上评论!!!

原创 2017年01月15日 22:49:20

今天在用Selenium WebDriver做一个代码卡塔练习,学以致用,于是就想到了登陆CSDN博客,并挑选其中第一篇置顶的文章,然后为其加上评论。下面是我自己写的测试代码。

需要注意的,笔者这次用的是Chrome的浏览器,并把驱动放在了c:\drivers 目录下。注意,CSDN的用户名和密码,请换成各位读者自己的。如果没有的话,请各位读者自己注册一个测试账号!!!

如果想看到效果的话,第一次的时候,请把单元测试中的tearDown()方法先注释掉,等跑通过后,在加上。


package com.winneryum.csdn;

import java.util.concurrent.TimeUnit;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class LoginWebPageTest {
  private WebDriver driver;
  private String baseUrl;
  @Before
  public void setup(){
    System.setProperty("webdriver.gecko.driver","C:/drivers/geckodriver.exe");
    System.setProperty("webdriver.chrome.driver", "C:/drivers/chromedriver.exe");
  }
  @Test
  public void loginCSDN(){
    driver = new ChromeDriver();
    baseUrl = "http://blog.csdn.net/chancein007";
    driver.get(baseUrl + "/");
    driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
    driver.findElement(By.className("loginlink"));
    driver.findElement(By.partialLinkText("登录")).click();
    driver.findElement(By.id("username")).clear();
    driver.findElement(By.id("username")).sendKeys("yourcsdnaccount");
    driver.findElement(By.id("password")).clear();
    driver.findElement(By.id("password")).sendKeys("yourpassword");
    driver.findElement(By.id("rememberMe")).click();
    driver.findElement(By.className("logging")).click();
    System.out.println("The current URL:"+driver.getCurrentUrl());
    if(baseUrl.equalsIgnoreCase(driver.getCurrentUrl().substring(0,driver.getCurrentUrl().length()-1))){
      System.out.println("Login Successfully!!!!");
    }else{
      System.out.println("Login Failed!!!!");
    }
    WebElement firstPage= driver.findElements(By.xpath("//div[@class='list_item article_item']/div[@class='article_title']/h1/span/a")).get(0);
    firstPage.click();
    System.out.println("The current URL:"+driver.getCurrentUrl());
    driver.findElement(By.id("comment_content")).clear();
    driver.findElement(By.id("comment_content")).sendKeys("不错的文章,强烈推荐一下,作为入门!!!!");
    driver.findElement(By.className("comment_btn")).click();
    System.out.println("Added the comment successfully!!!!");
    
  }
  
  @After
  public void tearDown(){
   driver.close();
   driver.quit();
  }
  
}


运行成功后,可以看到下面的截图。



版权声明:本文为博主原创文章,未经博主允许不得转载。

[selenium]实现自动登录163邮箱并发送邮件

selenium,自动登录,发送邮件 二、代码如下: #-*-coding:utf-8-*- from selenium import webdriver from selenium....

模拟浏览器的神器 - HtmlUnit

随着Web的发展,RIA越来越多,JavaScript和Complex AJAX Libraries给网络爬虫带来了极大的挑战,解析页面的时候需要模拟浏览器执行JavaScript才能获得需要的文本内...

selenium+Java实现自动登录

WebDriverTest.java package test; //import java.util.NoSuchElementException; //import java.uti...

[置顶]iOS开发系列文章(持续更新。。。)

iOS开发系列的文章,内容循序渐进,包含C语言、ObjC、iOS开发以及日后要写的游戏开发和Swift编程几部分内容。文章会持续更新,希望大家多多关注,如果文章对你有帮助请点赞支持,多谢! 为了方便大...

[Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论

前面几篇文章介绍了Selenium、PhantomJS的基础知识及安装过程,这篇文章是一篇应用。通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是...

【Python脚本】-爬虫得到CSDN博客的文章访问量和评论量

对于CSDN博客,我们比较关注的就是文章的访问量和评论量。但是当文章多了之后,我们想看每篇文章的访问量变得很费劲。通过爬虫,我们可以把每篇博客的基本信息都能得到。之后,可以再进行进一步的统计分析。脚本...

我的第一篇CSDN博客文章,Python代码实现矩阵翻转

Python代码实现矩阵翻转

入住CSDN的第一篇文章,纪念我的第一道凸包题

题目:Feeding Girls题目描述Blair是一个视女人如命的人,都说狡兔三窟,所以Blair也有不止一条命(不止一个女人)。但是坐在Blair旁边的可是^^_DrEaM,这个对女人垂涎三尺的男...

使用csdn的第一篇文章——java基础

在迫使自己阅读了java编程思想之后,毅然决然的做了这个约定。 我要依照之前的java学习路线将这些基础课程梳理一遍,这也是为什么要将博客搬至csdn的原因。 在依照天马营的Java入门基础教程后,总...

我的第一篇文章在CSDN下诞生了~

随想
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[4]Selenium学习系列----登录CSDN并为第一篇置顶文章加上评论!!!
举报原因:
原因补充:

(最多只允许输入30个字)