| comment faire avec "WBSurvey"... | |
|
|
Auteur | Message |
---|
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: comment faire avec "WBSurvey"... Lun 5 Fév 2018 - 19:37 | |
| Bonsoir, Comment peut-on faire avec cette instruction? On active la surveillance du web, mais comment faire pour que le clic gauche soit intercepté? Par une boucle pour lire: res% = dll_call3("WBSurvey",handle(10),2,3) : ' surveiller le survol et le clic gauche Et le "3" c'est quoi, seul l'explication de 1 et 2 est donné.EDIT: Je viens de comprendre, c'est la somme des deux actions------------- J'ai essayé: res% = dll_call3("WBSurvey",handle(10),1,3) : ' surveiller le survol et le clic gauche, mais à chaque fois cela me donne une erreur. ------------- J'ai essayé aussi: res% = dll_call3("WBSurvey",handle(10),1,3) : ' surveiller le survol et le clic gauche et à chaque fois cela me donne une erreur. Le but, mais peut-être que ça pose un problème étique, est de pouvoir récupérer le code html avant d'avoir un blocage car Adblock à été détecté, et me cache tout. Je ne sais pas si c'est possible. Je ne sais même pas ou est trouvé Adblock vu que là il n'est pas installé, étant avec le broser de kgf. Merci d'avance pour un éventuel contrôle. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: comment faire avec "WBSurvey"... Lun 5 Fév 2018 - 20:53 | |
| Je vais regarder prochainement de quoi il retourne. Mais tu dis: - Code:
-
Je ne sais même pas ou est trouvé Adblock vu que là il n'est pas installé, étant avec le broser de kgf. Ce qui est sûr, c'est que j'utilise le composant WebBrowser qui est un dérivé de InternetExplorer. Et je n'installe aucun plug-in, et evidemment pas AdBlock. Par contre, InternetExplorer a ses propres techniques pour bloquer certains contenus jugés "indésirables". Ceci n'est pas maîtrisable au niveau du WebBrowser. | |
|
| |
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: comment faire avec "WBSurvey"... Lun 5 Fév 2018 - 22:17 | |
| Merci. Je sais que ce n'est pas toi qui ajoute adblock. Je voudrais simplement pouvoir sauvegarder la page avant que le site découvre le blocage. Je ne me souviens pas d'avoir bloqué IE, vu que je ne l'utilise pas.
C'était un essai, je voulais voir si on pouvait voir une page directement en dehors des échanges avec un site. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: comment faire avec "WBSurvey"... Lun 5 Fév 2018 - 22:37 | |
| As-tu essayé - Code:
-
res% = dll_call1("WBHtmlToMemo",handle(memo%)) Cette fonction copie le code HTML complet de la page actuelle dans un mémo. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: comment faire avec "WBSurvey"... Lun 5 Fév 2018 - 22:50 | |
| Tu as aussi la fonction - Code:
-
res% = DLL_call3("GetHtmlFromURL",adr(url$),handle(memo%),mode%) qui fonctionne sans WebBRowser. Regarde la doc dans KGF.chm (section "fonctions diverses") pour l'usage du paramètre mode%. | |
|
| |
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: comment faire avec "WBSurvey"... Mar 6 Fév 2018 - 1:12 | |
| - Klaus a écrit:
- res% = dll_call1("WBHtmlToMemo",handle(memo%))
Oui j'ai essayé, mais je constate que dans mon premier poste je pensais en avoir parlé. J'ai lu ligne par ligne et je vois qu'à la place j'ai dis la même chose. J'avais un message d'erreur systématique avec la fonction. Mais je pense que la fonction était demandée trop tôt. Maintenant cela marche. J'ai remplacé un "wait" par un repeat/until scancode =32, ce qui m'assure que la page est prète. C'est un programme raccourcis pour voir. Un premier teste (c'est évidemment pas formidable, d'ailleurs c'est dès le début que le teste du blocage est fait. - Code:
-
label sauve dim wb%,res%,hnd% , memo% , url$ dll_on "c:\kgf.dll" : full_space 0
form 1 :full_space 1 : hide 1 memo 2 : parent 2,1 : width 2, width_client(1) :height 2,height_client(1)-30 :bar_both 2 : memo%=2 button 3:caption 3,"sauver":on_click 3,sauve
if message_confirmation_yes_no("tapez: YES pour charger l'url de la page html "+chr$(13)+"tapez NO pour lire la sauvegarde")=1 url$ ="https://www.telestar.fr/programme-tv/grille/04-02-2018/free" web() : res% = dll_call2("WB_Url",WB%,adr(url$)) repeat : pause 100 : until scancode = 32 res% = dll_call2("WB_HtmlToMemo",WB%,handle(memo%)) show 1 : to_foreground 1 else web() : url$ ="file:///C:/Temp/ctrl.html" res% = dll_call2("WB_Url",WB%,adr(url$)) end_if end ' ============================= sub web() WB% = dll_call1("WB_Create",handle(0)) res% = dll_call5("WB_Locate",WB%,0,30,width(0) ,height_client(0)+30) :' dimensions hnd% = dll_call2("WB_Function",WB%,8) :' retourne le handle du brower end_sub
sauve: file_save 2,"C:\temp\ctrl.html" return
EDIT: la sub était oubliée, beaucoup plus bas dans l'éditeur. Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: comment faire avec "WBSurvey"... Mar 6 Fév 2018 - 2:26 | |
| Ok, je vois. Normalement, la fonction WB_URL ne retourne que lorsque la page entière est chargée. Il y a peut-être un JavaScript qui exécute encore. Possible. Au lieu d'attendre la frappe d'un espace, essaye de faire PAUSE 500 pour voir ce que ça donne, puis éventuellement, tu augmentes ou réduis ce délai. | |
|
| |
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: comment faire avec "WBSurvey"... Mar 6 Fév 2018 - 8:42 | |
| Pour ce qui est de la pause, j'ai été jusqu'à 5000, donc pour certain site c'est pas la solution, d'où l'emploi de repeat/until
Non j'ai utilisé l'autre solution que tu as donné, et j'aurai pas été voir dans les fonctions divers pour la trouver: res% = DLL_call3("GetHtmlFromURL",adr(url$),handle(2),1)
Ca marche mieux.
Edit: Tu n'as pas donné de réponse par rapport à: WBSurvey ? On a pas de on_click sur une DLL. Alors fais-tu pour faire un évènement sur savoir si on a cliqué sur le browser? Avec un timer? c'est surement la solution. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: comment faire avec "WBSurvey"... Mar 6 Fév 2018 - 9:22 | |
| Essaie ceci: - Code:
-
label EvenementBrowser dim res%, txt$ memo 10 : on_change 10,EvenementBrowser ... txt$ = "" : ' surveiller toute la page, sans distiction des éléments HTML res% = dll_call2("WB_SurveyFilter",WB%,adr(txt$)) : ' surveiller les tags A, IMG et DIVres% = dll_call3("WB_Survey",WB%,handle(10),1,1) : ' surveiller le survol ou res% = dll_call3("WB_Survey",WB%,handle(10),1,2) : ' surveiller le clic gauche ou res% = dll_call3("WB_Survey",WB%,handle(10),1,3) : ' surveiller le survol et le clic gauche ... EvenementBrowser: message "C'est arrivé - regarde le mémo ! return
| |
|
| |
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: comment faire avec "WBSurvey"... Mar 6 Fév 2018 - 11:55 | |
| | |
|
| |
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: comment faire avec "WBSurvey"... Mer 7 Fév 2018 - 1:32 | |
| Bonsoir, Je ne pensais pas revenir ici, mais j'avais découvert une page qui ne marchait pas, tout en faisant autre chose. Je viens de contrôler (à moi de n'avoir pas la dernière version de kgf.chm, mais la page suivante: WBSetinnerHTMLofElementByName est vide de tout explication. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: comment faire avec "WBSurvey"... Mer 7 Fév 2018 - 1:36 | |
| Merci, Oscaribout ! Je vais y remédier. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: comment faire avec "WBSurvey"... Mer 7 Fév 2018 - 22:26 | |
| La doc est corrigée, Oscaribout. | |
|
| |
Contenu sponsorisé
| Sujet: Re: comment faire avec "WBSurvey"... | |
| |
|
| |
| comment faire avec "WBSurvey"... | |
|