如何在Selenium中安全地使用Google翻译

时间:2014-03-11 07:36:48

标签: java selenium

我正在进入一个需要将不同语言的文本翻译成英语的项目。在一天之内,我将翻译近5000份文件。我写了一个小的硒代码,可以帮助我翻译这些文件。

现在我的问题是,如果我使用Selenium从谷歌翻译中翻译大量数据,我是否会被谷歌阻止。如果是,那么避免被Google翻译阻止的解决方案是什么?

我在下面发布了我的代码供参考:

public static WebDriver google_translate(WebDriver driver,String filename)
    {

        driver.manage().timeouts().implicitlyWait(5
                , TimeUnit.SECONDS);
        try{
        driver.get("http://translate.google.com/#auto/en");    
        String text="";         
        text=read_contents.read_from_html(filename);
        if(text.length()<5)
            return driver ;
        // Enter the query string "Cheese"
        System.out.println("file read");
        WebElement query = driver.findElement(By.id("source"));
        query.sendKeys(text);
        WebElement query1 = driver.findElement(By.id("gt-submit"));
        query1.click();
        System.out.println("text entered");
        Date d=new Date();
        long intial=d.getTime();
        WebElement result;
        do{
            result = driver.findElement(By.id("result_box"));
            d=new Date();
        }while(result.getText().length()<20 && (d.getTime()-intial<15000) );
        System.out.println("result fetched");
        String output=Global.prop.get(1).toString()+"/"+new File(filename).getName()+".txt";
        output_writer.txt_writer(result.getText(),output);
        }
        catch(UnhandledAlertException e)
        {
            e.printStackTrace();
        }
        catch(NoSuchElementException e)
        {
            e.printStackTrace();
        }
        catch(UnknownServerException e)
        {
            e.printStackTrace();
        }
        //System.out.println(result.getText());    
        return driver ;

0 个答案:

没有答案