如何用程序取出翻译结果
在google翻译网页面上(http://translate.google.cn/?hl=zh-CN&tab=wT#),共有11个网页控件,其中第10个控件为要翻译的原文控件,其类型为:textarea,当为该控件赋值:"hello“(document.forms[0].elements[9].value="hello")时,其右边的控件显示:“您好”,
问题:①如何用程序取出翻译结果:“您好”?
②该网页第11个控件类型为:file, “您好”是否在该控件显示?
上面问题请教各位高手,谢谢!
[解决办法]
*!* Google 英译中
Clear
Declare Integer Sleep In WIN32API Integer
Local ieObj As InternetExplorer.Application
*** 以下是待翻译的英文文字
TEXT TO lcTranslate NOSHOW
Hello, I am a VFP
ENDTEXT
ieObj = Createobject("InternetExplorer.Application")
*!*ieObj.Visible = .T.
ieObj.Visible = .F.
ieObj.Navigate2("http://translate.google.cn/?hl=en#en|zh-CN|"+lcTranslate)
Do While ieObj.ReadyState() # 4
Sleep(10)
Enddo
Sleep(10)
ieTrans = ieObj.Document.GetElementById("result_box")
Wait Window ieTrans.innerText
[解决办法]
用MSXML2.ServerXMLHTTP提交很方便。
Clear
lcStr=[Hello]
*½¨Á¢XMLHTTP¶ÔÏó
loInternet=Createobject("MSXML2.ServerXMLHTTP")
loInternet.setTimeouts(60000,10000,60000,60000)
lcURL=[http://translate.google.cn/]
lcPostdata=''
loInternet.Open([GET],lcURL)
loInternet.Send(lcPostdata)
lcReturn=loInternet.getAllResponseHeaders
Cookie1=Strextract(lcReturn,'Set-Cookie:',';',1)
Cookie2=Strextract(lcReturn,'Set-Cookie:',';',2)
lcURL=[http://translate.google.cn/translate_a/t?client=t&text=]+lcStr
lcPostdata=''
loInternet.Open([GET],lcURL)
loInternet.setRequestHeader([Cookie],Cookie1+[;]+Cookie2)
loInternet.setRequestHeader([User-Agent],[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)])
loInternet.Send(lcPostdata)
lcReturn=loInternet.responseBody
?lcStr
?
?STRCONV(STRCONV(lcReturn,11),2)