Reputation: 1
I would like to click on this button without using selenium. Any suggestions?
HTML CODE
<div id="frame">
<!-- START HEADER -->
<div id="header">
<div id="logo"><a href="#"><img src="control?view=view/images/ft_logo.gif" alt="logo" border="0" width="245" height="89"></a></div>
<div id="nav"><a href="control?view=view/filetransfer/thin/fileList.jsp" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('transfers','','control?view=view/images/es/nav_ft_transfers-over.gif',1)"><img src="control?view=view/images/es/nav_ft_transfers.gif" alt="Transferencias" name="transfers" border="0"></a>
<a href="control?view=view/filetransfer/thin/auditList.jsp" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('history','','control?view=view/images/es/nav_ft_history-over.gif',1)"><img src="control?view=view/images/es/nav_ft_history.gif" alt="Historia" name="history" border="0"></a>
<a href="control?view=view/filetransfer/thin/changePasswordForm.jsp" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('password','','control?view=view/images/es/nav_ft_password-over.gif',1)"><img src="control?view=view/images/es/nav_ft_password.gif" alt="Cambiar contraseña" name="password" border="0"></a>
<a href="control?view=servlet/keys" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('pgpkey','','control?view=view/images/es/nav_keys-over.gif',1)"><img src="control?view=view/images/es/nav_keys.gif" alt="Llave PGP" name="pgpkey" border="0"></a>
<a href="javascript:openPopUpSIFTHelp()" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('help','','control?view=view/images/es/nav_ft_help-over.gif',1)"><img src="control?view=view/images/es/nav_ft_help.gif" alt="Ayuda" name="help" border="0"></a></div>
<div id="version">Bienvenido, ccal001 | miércoles 15 de enero de 2020 7:58:03</div>
<div id="logout">
<img src="control?view=view/images/icon_logout.gif" alt="Terminar Sesion"><a href="javascript:CloseWindow('login/logout?logouttoken=-2263819166038691904');">Terminar Sesion</a>
</div>
<!-- END HEADER -->
<!-- START CONTENT -->
<div id="content" style="display: none;">
<div class="refresh"><a href="control?view=view/filetransfer/thin/fileList.jsp" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('refresh','','control?view=view/images/es/btn_refresh-roll.gif',1)"><img src="control?view=view/images/es/btn_refresh.gif" alt="Refresh" name="refresh" width="70" height="17" border="0"></a></div>
<h2>Transferencias</h2>
<p><img src="control?view=view/images/red_folder.gif"> - Es necesario seleccionar los archivos/directorios antes de que la transferencia pueda ser ejecutada.</p>
<p><img src="control?view=view/images/green_folder.gif"> - Por defecto todos los archivos serán descargados.</p>
<div id="tc_table">
<table>
<tbody><tr class="header">
<td class="hidecolumn">Descripción</td>
<td width="375">Nombre del archivo Local</td>
<td width="98"> </td>
</tr>
<tr class="row0">
<form name="file0"></form>
<td class="hidecolumn">Archivos de Captura</td>
<td nowrap="">
**<button type="button" onclick="javascript:multiFileBrowse("FileBrowseApplet0";, "375", "25", "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93", ", "control?view=view/filetransfer/thin/FileBrowseApplet_0.0.0.1.jar,control?view=view/filetransfer/thin/mlproperties.jar", "application/x-java-applet;version=1.6.0", "RECEIVE", "c%3A%5C*", "passed By filelistArray", "Archivos+de+Captura");">
<img src="view/images/green_folder.gif"> Examinar
</button>**
-->
my code and the tests I did
$ie = new-object -com "InternetExplorer.Application" $ie.visible = $true maxIE $ie
$username="xxxxxxx"
$password=Get-Content -Path D:\pass\PasswordPosnet.txt
$ie.Navigate("siteweb") $HomePage = $ie.document
While ($ie.Busy -eq $true) {Start-Sleep -Seconds 2;}
$usernamefield = $ie.document.getElementByID('userid') $usernamefield.value = "$username"
$passwordfield = $ie.document.getElementByID('password') $passwordfield.value = "$password"
$Link = $ie.document.getElementByID('button') $Link.click()
Start-Sleep -seconds 2
$link = @($ie.Document.getElementsByTagName('a')) | Where-Object {$_.innerText -eq 'Examinar'} $link.click()
$ie.document.IHTMLDocument3_getElementsByTagName("button") | ForEach-Object { $_.Click() }
$link=$ie.Document.getElementsByTagName("button") | where-object {$_.type -eq "submit"} $link.click()
$link =$ie.Document.getElementsByTagName("input") | Where-Object{$.type -eq 'button' -and $.value -eq 'FileBrowseApplet0'} $link.Click()
The way to differentiate this button is this: "FileBrowseApplet0"
Upvotes: 0
Views: 1697
Reputation: 1782
This should lead you to the right way (PowerShell):
$oIE = new-object -com internetexplorer.application
$oIE.visible = $true
[void]$oIE.navigate2("https://<yourUrl>")
Do {
sleep -seconds 1
} while ($oIE.busy)
$control = $oIE.document.IHTMLDocument3_getElementsByTagName('BUTTON') | ? { $_.IHTMLElement_innerHTML -like <patternToFind> }
[void]$control.click()
while ($oIE.busy) {
sleep -seconds 1
}
Upvotes: 0