Cliquer sur un élément HTML avec QuerySelector via VBA

Jim Carney

J'essaye d'automatiser l'accès à une page Web avec VBA. Je suis dans l'écran de connexion, mais je ne peux pas cliquer sur l'un des éléments pour accéder à l'écran de recherche. Normalement, ce n'est pas trop difficile, mais il semble que cet élément soit dans une iframe? Je ne sais pas si c'est pourquoi je ne peux pas le voir. J'ai essayé de boucler toutes les balises A et d'obtenir des retours nop. J'ai essayé d'utiliser le sélecteur de requête pour l'atteindre, ce qui m'a été montré dans le passé et a fonctionné. Les deux en vain. J'ai essayé 4 façons différentes de saisir une balise avec l'idée de faire une boucle ForEach après avoir fait correspondre un attribut et cliquer:

    Set HTMLAs = HTMLDoc.getElementsByTagName("a")
    Set HTMLAs = HTMLDoc.getElementsByTagName("tr")
    Set HTMLAs = HTMLDoc.getElementsByTagName("td")
    Set HTMLAs = HTMLDoc.getElementsByTagName("div")

Et j'ai essayé:

HTMLDoc.querySelector("a[title='Policy']").Click
'HTMLDoc.querySelector("a[href='/PolicySearch/policySearch_v30.cfm?module=policy&actionType=lookup']").Click    'no
'HTMLDoc.querySelector("a[href='/PolicySearch/policySearch_v30.cfm?module=policy&actionType=lookup']").Click    'no
'HTMLDoc.querySelector("A[href='/PolicySearch/policySearch_v30.cfm?module=policy&actionType=lookup']").Click    'NO
'HTMLDoc.querySelector("A[title='Policy']").Click                                                                   'no

et aucun de ceux-ci ne saisit l'élément.

Voici le html de l'élément sur lequel je veux cliquer:

<A title=Policy style="FONT-SIZE: 8pt; FONT-FAMILY: arial" 
href="/PolicySearch/policySearch_v30.cfm? 
module=policy&amp;actionType=lookup" target=main nowrap>&nbsp; Lookup Policy 
&nbsp;</A>

et voici le haut du cadre lorsque j'arrive pour la première fois sur la page que je veux:

<FRAMESET id=defaultFrame frameSpacing=0 border=0 frameBorder=no 
rows=70,21,*,21,1><FRAME noResize src="/systemInfo/ScriptX/titleBar.cfm" 
frameBorder=0 name=titleBar scrolling=no application="yes"><FRAME noResize 
src="/producerTOC.cfm" frameBorder=0 name=producerTOC scrolling=no 
application="yes"><FRAMESET id=BottomRow cols=1,*><FRAME noResize 
src="toc.cfm" frameBorder=0 name=toc marginWidth=0 scrolling=no 
application="yes"><FRAME noResize src="main.cfm" frameBorder=0 name=main 
application="yes"></FRAMESET><FRAME noResize 
src="/systemInfo/ScriptX/footerFrame.cfm" frameBorder=0 name=footerFrame 
scrolling=no application="yes"><FRAME noResize src="" frameBorder=0 
name=utilityFrame scrolling=no application="yes"><NOFRAMES></NOFRAMES> 

Mais à partir de là, je ne sais pas trop comment procéder. Tout conseil ou direction très apprécié.

Capture d'écran du code HTML de l'iframe à la politique de recherche. Capture d'écran

Formulaire de recherche après avoir cliqué sur "Politique de recherche"

<FORM id=SearchForm onsubmit="return _CF_checkSearchForm(this)" method=get 
name=SearchForm action=/PolicySearch/policyAdvLookup_v30.cfm 
target=searchResultFrame><TABLE class=TableSelection>
<TBODY>
<TR>
<TD class=HeaderCell>Policy Search</TD></TR>
<TR>
<TD class=SelectionCell>
<TABLE class=NoBorder>
<TBODY>
<TR>
<TD class=Right style="WIDTH: 2%" noWrap>&nbsp;</TD>
<TD class="Right Bold" style="WIDTH: 20%" noWrap>Search Criteria</TD>
<TD noWrap><A onclick="ToggleMode();return false;" id=ToggleModeLink        
class=FloatR href="">- Advanced Search -</A> <INPUT onfocus=this.select(); 
id=searchField class=upperCase size=30 name=searchField class="upperCase" 
jQuery112406813183503798275="4"><BUTTON id=SearchButton style="WIDTH: 130px" 
type=submit name=SearchButton>Search</BUTTON></TD></TR>
<TR>
<TD id=SearchLabel class="Right Bold" colSpan=2 noWrap>Search By</TD>
<TD noWrap><INPUT onclick=LoadParam(1); id=searchOption title="Policy # / 
Name" class=Blend CHECKED type=radio value=name name=searchOption>Policy # / 
Name &nbsp; <INPUT onclick=LoadParam(2); id=searchOption title="Insured 
Address" class=Blend type=radio value=address name=searchOption>Insured 
Address &nbsp; <INPUT onclick=LoadParam(3); id=searchOption title="Dwelling 
Location" class=Blend type=radio value=location name=searchOption>Dwelling 
Address &nbsp; 
<DIV id=LineSearchOptions><SPAN id=LineSearchOptions_1 
name="LineSearchOptions_1"><INPUT onclick=LoadParam(6,true); id=searchOption 
title="Driver Name / Lic Num" class=Blend type=radio value=name 
name=searchOption>Driver Name / Lic Num &nbsp; <INPUT 
onclick=LoadParam(6,false); id=searchOption title="Vehicle VIN" class=Blend 
type=radio value=VIN name=searchOption>Vehicle VIN &nbsp; </SPAN></DIV></TD> 
</TR>
<TR id=PolicyTypeRow name="PolicyTypeRow">
<TD class="Right Bold" colSpan=2 noWrap>Policy Type</TD>
<TD noWrap><SELECT onchange=ShowLineOptions(this.value); id=policyType 
name=policyType> <OPTION selected value=0>All Policy Types</OPTION> <OPTION 
value=4>Homeowner Policies</OPTION> <OPTION value=3>Dwelling Fire 
Policies</OPTION> <OPTION value=1>Personal Auto Policies</OPTION></SELECT> 
</TD></TR>
<TR id=SearchCriteriaDisplay name="SearchCriteriaDisplay">
<TD class=Right noWrap><A onclick="ClearParam(1);return false;" id=aClear 
href="" name=aClear>[ X ]</A></TD>
<TD id=strSearchParamLbl class="Right Bold" noWrap 
name="strSearchParamLbl">Policy # / Name</TD>
<TD noWrap><SPAN id=strSearchParamDisplay name="strSearchParamDisplay"> 
</SPAN><INPUT id=strSearchParam type=hidden name=strSearchParam></TD></TR>
<TR id=SearchCriteriaDisplay name="SearchCriteriaDisplay">
<TD class=Right noWrap><A onclick="ClearParam(2);return false;" id=aClear 
href="" name=aClear>[ X ]</A></TD>
<TD id=strSearchParamLbl class="Right Bold" noWrap 
name="strSearchParamLbl">Insured Address</TD>
<TD noWrap><SPAN id=strSearchParamDisplay name="strSearchParamDisplay"> 
</SPAN><INPUT id=strSearchParam type=hidden name=strSearchParam></TD></TR>
<TR id=SearchCriteriaDisplay name="SearchCriteriaDisplay">
<TD class=Right noWrap><A onclick="ClearParam(3);return false;" id=aClear 
href="" name=aClear>[ X ]</A></TD>
<TD id=strSearchParamLbl class="Right Bold" noWrap 
name="strSearchParamLbl">Dwelling Location</TD>
<TD noWrap><SPAN id=strSearchParamDisplay name="strSearchParamDisplay"> 
</SPAN><INPUT id=strSearchParam type=hidden name=strSearchParam></TD></TR>
 <TR id=SearchCriteriaDisplay name="SearchCriteriaDisplay">
 <TD class=Right noWrap><A onclick="ClearParam(4);return false;" id=aClear 
 href="" name=aClear>[ X ]</A></TD>
 <TD id=strSearchParamLbl class="Right Bold" noWrap 
 name="strSearchParamLbl">Phone&nbsp;</TD>
<TD noWrap><SPAN id=strSearchParamDisplay name="strSearchParamDisplay"> 
</SPAN><INPUT id=strSearchParam type=hidden name=strSearchParam></TD></TR>
 <TR id=TimeframeRow name="TimeframeRow">
 <TD class="Right Bold" colSpan=2 noWrap>Recent Policies Only</TD>
<TD noWrap><INPUT id=historyTimeFrame CHECKED type=checkbox value=1200 
 name=historyTimeFrame> Exclude policies that expired prior to December 
 1918</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><INPUT 
 id=strSearchNameNum type=hidden name=strSearchNameNum> <INPUT 
 id=strSearchAddress type=hidden name=strSearchAddress> <INPUT 
 id=strSearchLocation type=hidden name=strSearchLocation> <INPUT 
 id=strSearchPhone type=hidden name=strSearchPhone> <INPUT 
 id=strSearchEmail type=hidden name=strSearchEmail> <INPUT id=strSearchLine 
 type=hidden name=strSearchLine> <INPUT id=strSearchLineType type=hidden 
 name=strSearchLineType> <INPUT id=displayType type=hidden value=0 
 name=displayType> <INPUT type=hidden value=0 name=isQuoteSearch> <INPUT 
 type=hidden value=policy name=module> <INPUT type=hidden value=lookup 
 name=actionType> </FORM>

Lorsque je clique sur la page Web qui contient les quelques options de recherche / navigation:

<FRAMESET id=defaultFrame frameSpacing=0 border=0 frameBorder=no 
rows=70,21,*,21,1><FRAME noResize src="/systemInfo/ScriptX/titleBar.cfm" 
frameBorder=0 name=titleBar scrolling=no application="yes"><FRAME noResize 
src="/producerTOC.cfm" frameBorder=0 name=producerTOC scrolling=no 
application="yes"><FRAMESET id=BottomRow cols=1,*><FRAME noResize 
src="toc.cfm" frameBorder=0 name=toc marginWidth=0 scrolling=no 
application="yes"><FRAME noResize src="main.cfm" frameBorder=0 name=main 
application="yes"></FRAMESET><FRAME noResize 
src="/systemInfo/ScriptX/footerFrame.cfm" frameBorder=0 name=footerFrame 
scrolling=no application="yes"><FRAME noResize src="" frameBorder=0 
name=utilityFrame scrolling=no application="yes"><NOFRAMES></NOFRAMES> 
</FRAMESET>

Table:

<TABLE id=MainTabText style="BORDER-TOP: 0px; HEIGHT: 19px; BORDER-RIGHT: 
0px; WIDTH: 100%; BORDER-BOTTOM: 0px; LEFT: 0px; MARGIN: 0px; BORDER-LEFT: 
0px; TOP: 0px" cellSpacing=0 cellPadding=0 name="MainTabText"><TBODY>
<TR style="FONT-WEIGHT: bold">
<TD style="FONT-SIZE: 8pt; BORDER-TOP: 0px; FONT-FAMILY: arial; BORDER- 
RIGHT: 0px; WIDTH: 1%; VERTICAL-ALIGN: middle; BORDER-BOTTOM: 0px; COLOR: 
black; PADDING-BOTTOM: 0px; TEXT-ALIGN: left; PADDING-TOP: 0px; PADDING- 
LEFT: 10px; BORDER-LEFT: 0px; LINE-HEIGHT: 8pt; PADDING-RIGHT: 0px" noWrap>| 
<A title=Policy style="FONT-SIZE: 8pt; FONT-FAMILY: arial" 
href="/PolicySearch/policySearch_v30.cfm? 
module=policy&amp;actionType=lookup" target=main nowrap>&nbsp; Lookup Policy 
&nbsp;</A> |<A title=Reports style="FONT-SIZE: 8pt; FONT-FAMILY: arial" 
href="/Reports/reports.cfm" target=main nowrap>&nbsp; Reports &nbsp;</A> |<A 
title=Agencies style="FONT-SIZE: 8pt; FONT-FAMILY: arial" 
href="ProducerInfo/producerInfoLayout.cfm?producerID=10003" target=main 
nowrap>&nbsp; Agency Info &nbsp;</A> |<A title="Upload Documents" 
style="FONT-SIZE: 8pt; FONT-FAMILY: arial" 
href="/PolicySearch/policySearch_v30.cfm? 
module=Upload&amp;actionType=lookup" target=main nowrap>&nbsp; Upload 
Documents &nbsp;</A> |<A title="Batch Viewer" style="FONT-SIZE: 8pt; FONT- 
FAMILY: arial" href="/batch/batchViewer/batchViewerlayout.cfm" target=main 
nowrap>&nbsp; Batch Viewer &nbsp;</A> |</TD>
<TD style="FONT-SIZE: 8pt; BORDER-TOP: 0px; FONT-FAMILY: arial; BORDER- 
RIGHT: 0px; WIDTH: 99%; VERTICAL-ALIGN: middle; BORDER-BOTTOM: 0px; COLOR: 
black; PADDING-BOTTOM: 0px; TEXT-ALIGN: right; PADDING-TOP: 0px; PADDING- 
LEFT: 0px; BORDER-LEFT: 0px; LINE-HEIGHT: 8pt; PADDING-RIGHT: 10px" 
noWrap>&nbsp;| <A style="FONT-SIZE: 8pt; FONT-FAMILY: arial" 
href="/main.cfm" target=main nowrap>&nbsp; Home &nbsp;</A> | <A 
onclick="LogoutCheck();blur();return false;" style="FONT-SIZE: 8pt; FONT- 
FAMILY: arial" href="" nowrap>&nbsp; Logout &nbsp;</A> |</TD></TR></TBODY> 

QHarr

Le sélecteur est correct

a[title=Policy]

S'il y a un frame / iframe, utilisez l'une de ses propriétés pour accéder à son contentDocument. Par exemple, s'il y a un identifiant pour la trame

ie.document.getElementById(frameid").contentDocument.querySelector("a[title=Policy]").click

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Comment cliquer sur un élément via Selenium Python

vba: Comment cliquer sur un élément dans iframe

Cliquer sur un élément <li> avec javascript

Comment cliquer sur un élément avec Selenium webdriver javascript?

Comment cliquer sur un élément de bouton avec Jasmine ?

Besoin d'ajouter un élément html lorsque l'utilisateur continue à cliquer sur un bouton avec jquery

Comment cliquer sur un élément chargé via Ajax via le pilote Web dans Chrome

Comment cliquer sur un bouton caché avec du sélénium via Python

S'il y a un élément spécifique sur la page, cliquer sur un autre élément via Javascript userscript ?

Comment cliquer sur le deuxième bouton sur IE avec VBA qui ont le même identifiant mais un élément onclick différent

Comment cliquer sur un bouton avec vba excel

Comment cliquer sur l'élément selon le html via Selenium et Python

Cliquer sur un élément d'une page via l'extension Chrome

Comment cliquer sur un élément d'un site Web avec un bookmarklet javascript?

Comment cliquer sur un élément <Td>

Impossible de cliquer sur un élément

Cliquer sur un élément span dans une classe avec python sélénium

Comment cliquer sur un élément angulaire avec le webdriver au sélénium ?

Comment cliquer sur un élément avec un identifiant contenant des deux-points dans Marionnettiste?

Sélénium: comment cliquer sur le premier enfant d'un élément html

Comment vérifier un élément de table et cliquer sur un autre élément avec Selenium

Comment cliquer sur un élément en utilisant les coordonnées x / y avec le marionnettiste?

Comment cliquer sur un élément avec du texte dans Puppeteer

Est-il possible de cliquer sur un élément avec phantomJS dans le rapporteur?

Impossible de cliquer sur un élément en mode modal avec Nightwatch

Comment cliquer sur un élément de la liste de sélection avec le marionnettiste

Comment cliquer sur un élément du menu déroulant non sélectionné avec Selenium

Comment cliquer sur un élément de la page sans le charger avec capybara ?

Comment cliquer sur le lien HTML à l'aide de VBA

TOP liste

  1. 1

    Redirection HTTP vers HTTPS dans Java à l'aide de HTTPURLConnection

  2. 2

    Uncaught TypeError: map n'est pas une fonction dans Reactjs avec Firebase

  3. 3

    Laravel SQLSTATE [HY000] [1049] Base de données inconnue 'previous_db_name'

  4. 4

    Comment envoyer plusieurs variables de la lame au contrôleur

  5. 5

    Microsoft.WebApplication.targets

  6. 6

    Comment analyser un fichier avec un tableau d'objets JSON en utilisant Node.js?

  7. 7

    Comment définir du texte dans un QLabel et afficher les caractères '<>'?

  8. 8

    Concaténer des variables dans ansible

  9. 9

    Filtrer les données en fonction des conditions d'une trame de données

  10. 10

    Échec de l'exécution de 'insertBefore' sur 'Node': le paramètre 1 n'est pas de type 'Node'

  11. 11

    ESP8266 HADRWARE MINUTERIE, USA pour cocher une macro étrange

  12. 12

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  13. 13

    Comment centrer un div tout en utilisant la transition et transformer avec l'échelle

  14. 14

    Stop jQuery execution after one time execution

  15. 15

    obtenir le nombre de marqueur affiché sur la carte

  16. 16

    System.Data.SqlClient.SqlException: 'Nom de colonne non valide' ApplicationRoleId '.'

  17. 17

    Générer une variable binaire avec une corrélation prédéfinie avec une variable déjà existante

  18. 18

    comment afficher un bouton au-dessus d'un autre élément ?

  19. 19

    Enregistrer le chemin de l'image de la galerie vers la base de données de la salle et l'afficher dans la liste des recycleurs

  20. 20

    php ajouter et fusionner des données de deux tables

  21. 21

    Comment utiliser le stockage local et le supprimer lorsqu'il n'est pas nécessaire

chaudétiquette

Archive