Учимся у Google делать ботов на Java

Тема в разделе "Любимые темы", создана пользователем zerg, 26 июн 2011.

  1. zerg

    zerg Administrator Команда форума

    Регистр.:
    18 июл 2008
    Сообщения:
    4.252
    Симпатии:
    3
    В ветке PHP обсуждалось и чтобы не мешать решил создать отдельную тему для Java.

    Учимся у Google делать ботов на PHP

    В кратце
    Selenium это объектно-ориентированное JavaScript приложение, которое может анализировать файлы определенной структуры для того, чтобы находить в них команды для манипуляции браузером и команды для выполнения определенных действий и проверок. Selenium поддерживается Microsoft Internet Explorer, Mozilla Suite и Mozilla Firefox для Microsoft Windows, Linux, и Apple Macintosh.

    Офсайт:
    http://seleniumhq.org

    Здесь можно взять последние релизы:
    http://seleniumhq.org/download/[/HIDE]

    Устанавливаем и пишем бота:
    1. Заходим на http://www.oracle.com/technetwork/java/javase/downloads/index.html, скачиваем JRE. Затем устанавливаем.

    2. Заходим http://www.eclipse.org/downloads/ и качаем Eclipse Classic.

    3. Скачиваем отсюда Selenium Server и Selenium Client Drivers для Java.

    4. Запускаем сервер.
    Код:
    java -jar E:\java\selenium\selenium-server-standalone-2.0a7.jar
    5. В эклипсе создаем новый проект, при создании переходим во вкладку libraries, нажимаем на Add External JARs...и добавляем скаченый ранее Selenium Client Drivers (selenium-java-2.0rc2.jar) после чего добавляем класс Google с кодом.
    PHP:

    //import org.junit.After;
    //import org.junit.Before;
    //import org.junit.Test;

    import com.thoughtworks.selenium.DefaultSelenium;
    import com.thoughtworks.selenium.Selenium;
    //import junit.framework.TestCase;

    //public class Google extends TestCase{
    public class Google {
        
        public 
    Selenium selenium;
        
        
    //@Before
        
    public void setUp() throws Exception {
            
    this.selenium = new DefaultSelenium("localhost"4444"*firefox""http://www.yandex.by");
            
    this.selenium.start();
        }

        
    //@Test
        
    public String testUntitled() throws Exception {
            
    this.selenium.open("/");
            
    this.selenium.type("text""hello world");
            
    this.selenium.click("sbtn");
            
    this.selenium.waitForPageToLoad("30000");
            return 
    this.selenium.getBodyText();
        }

        
    //@After
        
    public void tearDown() throws Exception {
            
    this.selenium.stop();
        }
        
        public static 
    void main(String[] argsthrows Exception{
            
    Google google = new Google();
            
    google.setUp();        
            
    System.out.println(google.testUntitled());
            
    //google.tearDown();
        
    }
    }    

    Запускаем и вуаля.
     
  2. zerg

    zerg Administrator Команда форума

    Регистр.:
    18 июл 2008
    Сообщения:
    4.252
    Симпатии:
    3
    Ответ: Учимся у Google делать ботов на Java

    Через прокси в скрытом режиме делаем так.
    PHP:
    import org.openqa.selenium.htmlunit.HtmlUnitDriver;

    public class 
    MyFirstTestCase {
       
      public static 
    void main(String[] argsthrows Exception {      
          
    HtmlUnitDriver driver = new HtmlUnitDriver();
          
    driver.setJavascriptEnabled(true);
          
    driver.setProxy("69.163.96.3"8080);
          
    driver.get("http://www.webloganalyzer.biz/proxy.php");
          
    System.out.print(driver.getPageSource());
      }
    }

    а если нужно для лиса то так

    Настройки лиса:
    https://developer.mozilla.org/en-US/docs/Mozilla/Preferences/Mozilla_networking_preferences

    PHP:
    import java.util.concurrent.TimeUnit;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxProfile;

    /**
     *
     * @author user-pc
     */
    public class test {
        
        public static 
    WebDriver driver;
        public static 
    FirefoxProfile profile;
        
        public static 
    void main(String[] args){
            
            
    profile = new FirefoxProfile();

            
    profile.setPreference("network.proxy.type"1);
            
    profile.setPreference("network.proxy.http""122.72.80.111");
            
    profile.setPreference("network.proxy.http_port"80);
            
            
    driver SimpleFirefoxDriver.getInstance(profile);
            
    driver.manage().deleteAllCookies();
            
    driver.manage().timeouts().implicitlyWait(15TimeUnit.SECONDS);
            
            try{
            
                
    driver.get("http://internet.yandex.ru/");

                
            }catch(
    Throwable t){
                
    //System.out.print(t);     
            
    }
                                    
        }
        
        
    }
     
  3. Admin

    Admin Administrator Команда форума

    Регистр.:
    25 ноя 2014
    Сообщения:
    56
    Симпатии:
    2
    Видео уроки по Selenium можно тут скачать
     

Поделиться этой страницей