Jump to content
Sign in to follow this  

Can't catch a dinamic result in a page

Recommended Posts


Hi everione!

To get the information that i want i have to fill a text box and then click the button. Apparently there's no problem, but the point is that the answer is showed dinamically on the page in a "div" that, before clicking the button was hide, and when i try to get the part of the page that i want with a _StringBetween function it doesn't works because doesn't find the new part of the HTML code that appears after the request.

The is the code that i'm trying to use. I tried to use the function _IELoadWait, but it seems there's no efect...

#include <IE.au3>
#Include <String.au3>

$tool="http://whatlanguageisthis.com/" ; tool to use

;Inicio Script

$WinHttpReq = ObjCreate("winhttp.winhttprequest.5.1")   ;Realizamos la peticion HTTP
$HTML = $WinHttpReq.ResponseText                        ;Recuperamos el HTML de la web

$titulo = _StringBetween($HTML,"<title","</title>")
$header = _StringBetween($HTML,"<h1","</h1>")
ConsoleWrite("el texto sera este: " & $titulo[0] & " " & $header[0] & @CRLF)

$IE = _IECreate($tool)

$input = _IEGetObjById($IE,"input")
_IEDocInsertText($input,$titulo[0]& " " & $header[0])
$boton = _IEGetObjById($IE,"analyze")
_IELoadWait($IE,6000,6000) ; 

$result = _IEGetObjById($IE,"result")
$language_s = _StringBetween($result,"<span id=language>","</span>")

The page that i'm trying to deal with is "http://whatlanguageisthis.com/", that if you put some text in the text box and click in the button tells you what language the text belongs to. How can i get the name of the language that apears after processing the request??

It happens the same in other page i'm trying to get info, so i guess that the main question is how i can get info of a part of a HTML code that apears after a request is processed? because it seems that with comands like _IEDocReadHTML or _IEBodyReadHTML doesn't works.

I would appreciate a lot your help!!!

Thanks a lot in advance!!!!!


Share this post

Link to post
Share on other sites

$result is an object, not a string. To get the text in that object, replace

$language_s = _StringBetween($result,"<span id=language>","</span>")
$language_s = _IEPropertyGet($result,"innertext")

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.