Java 如何在Selenium中安全使用Google translate
我进入了一个项目,需要从不同的语言翻译成英语文本。一天之内,我将要翻译近5000个文档。我已经编写了一个小的selenium代码来帮助我翻译这些文档 现在我的问题是,如果我使用Selenium来翻译来自google translate的大量数据,我会被google阻止吗。如果是,有什么解决方案可以避免被Google Translate阻止 我已将我的代码张贴在下面以供参考:Java 如何在Selenium中安全使用Google translate,java,selenium,Java,Selenium,我进入了一个项目,需要从不同的语言翻译成英语文本。一天之内,我将要翻译近5000个文档。我已经编写了一个小的selenium代码来帮助我翻译这些文档 现在我的问题是,如果我使用Selenium来翻译来自google translate的大量数据,我会被google阻止吗。如果是,有什么解决方案可以避免被Google Translate阻止 我已将我的代码张贴在下面以供参考: public static WebDriver google_translate(WebDriver driver,Str
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 ;
publicstaticwebdriver谷歌翻译(WebDriver驱动程序,字符串文件名)
{
driver.manage().timeout().implicitlyWait(5
,时间单位为秒);
试一试{
驱动程序。获取(“http://translate.google.com/#auto/en");
字符串文本=”;
text=读取内容。从html(文件名)读取内容;
if(text.length())如果您被阻止,我建议您使用允许发布此数量文本的服务。您能推荐一些替代方案吗?我曾尝试过Google Translate API。但它们对于日常使用来说非常昂贵!一个简单的搜索会让您知道kiran: