搭建用Selenium模擬chrome瀏覽器運行環境,為模擬登陸做准備


搭建Selenium自動化環境

1、首先需要下載好對應自己chrome對應的chromedriver

我們在地址欄中輸入chrome://version可以查看到更加詳細的版本情況。

不僅可以顯示瀏覽器版本,還顯示了用戶代理,Flash版本,路徑和狀態信息等

 

 


在這里插入圖片描述
2、根據自己的chrome下載對應的chromedriver版本(可以通過這里查找)
http://chromedriver.storage.googleapis.com/index.html

 

 


在這里插入圖片描述

 

 


3、下載完畢后,本地指定一個文件夾

 

 


在這里插入圖片描述
4、下載后將chromedriver路徑添加到系統環境變量path中
在這里插入圖片描述

 

        <dependency>
            <groupId>us.codecraft</groupId>
            <artifactId>webmagic-core</artifactId>
            <version>0.7.3</version>
        </dependency>
        <dependency>
            <groupId>us.codecraft</groupId>
            <artifactId>webmagic-extension</artifactId>
            <version>0.7.3</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/us.codecraft/webmagic-selenium -->
        <!-- Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。        -->
        <dependency>
            <groupId>us.codecraft</groupId>
            <artifactId>webmagic-selenium</artifactId>
            <version>0.7.3</version>
        </dependency>

 

通過下列代碼測試,在eclipse中運行后調到百度界面

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public  class BaiduSelenium {
      public static void main(String[] args) {

            //C:\Program Files (x86)\Google\Chrome\Application\

            System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
            //
            WebDriver driver=new ChromeDriver();
            driver.get("http://www.baidu.com/");


        }
}

 

后續會更新通過頁面登錄的爬蟲文章。。。。

 

擴散:增加模擬登陸,獲取cookie值

package com.ibaiqi.spider.test;

import org.apache.http.client.CookieStore;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.cookie.BasicClientCookie;
import org.openqa.selenium.By;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.TimeUnit;

public  class Selenium_shyrcwNet {
      public static void main(String[] args) throws InterruptedException {

            //C:\Program Files (x86)\Google\Chrome\Application\
            //csdn 用戶名:18762178588 asplover1Linww
            System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
            //
            WebDriver driver=new ChromeDriver();
            String baseUrl="http://www.shyrcw.net/members/login.htm";
            driver.get(baseUrl);
           //等待加載完成
          driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
          // 獲取頁面元素
          WebElement elemUsername = driver.findElement(By.name("username"));
          WebElement elemPassword = driver.findElement(By.name("password"));
          //WebElement btn = driver.findElement(By.className("btn_login"));
          WebElement btn = driver.findElement(By.id("J_dologin"));
          System.out.println("btn的值:"+btn.getText()+btn.getSize());

          // 操作頁面元素
          elemUsername.clear();
          elemPassword.clear();
          elemUsername.sendKeys("用戶名");
          elemPassword.sendKeys("密碼");
         // rememberMe.click();
          btn.click();
          // 提交表單
          //btn.submit();
          Thread.sleep(5000);
          //driver.get("http://msg.csdn.net/");
          Thread.sleep(5000);
          // 獲取cookies
          //driver.manage().getCookies
          System.out.println("准備提取cookies");
          Set<Cookie> cookies = driver.manage().getCookies();
          System.out.println("Size: " + cookies.size());
          Iterator<Cookie> itr = cookies.iterator();

          CookieStore cookieStore = new BasicCookieStore();

          while (itr.hasNext()) {
              Cookie cookie = itr.next();
              BasicClientCookie bcco = new BasicClientCookie(cookie.getName(), cookie.getValue());
              bcco.setDomain(cookie.getDomain());
              bcco.setPath(cookie.getPath());
              cookieStore.addCookie(bcco);
              System.out.println("打印cookie: 域名:"+cookie.getDomain()+"cookie路徑"+cookie.getPath()+"cookie名稱:"+cookie.getName()+"cookie值:"+cookie.getValue());
          }


        }
}

 

擴散模塊采集:

webMagic與chromedriver


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM