【发布时间】:2020-05-01 02:54:33
【问题描述】:
我想在不使用 selenium 的情况下单击此按钮。有什么建议吗?
HTML 代码
<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>**
-->
我的代码和我所做的测试
$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()
开始-睡眠-秒 2
测试 1
$link = @($ie.Document.getElementsByTagName('a')) | Where-Object {$_.innerText -eq 'Examiner'} $link.click()
测试 2
$ie.document.IHTMLDocument3_getElementsByTagName("button") | ForEach-Object { $_.Click() }
测试 3
$link=$ie.Document.getElementsByTagName("button") | where-object {$_.type -eq“提交”} $link.click()
测试 4
$link =$ie.Document.getElementsByTagName("input") | Where-Object{$.type -eq 'button' -and $.value -eq 'FileBrowseApplet0'} $link.Click()
区分这个按钮的方法是这样的:“FileBrowseApplet0”
【问题讨论】:
-
你有没有尝试过?请使用tour 并阅读How to Ask。 Stack Overflow 不是免费的脚本编写服务。预计您自己的研究和代码尝试。编辑问题以将您的代码包含在 Minimal, Complete, and Verifiable 示例中。
-
您的按钮看起来有内部文本“审查员”。您可以尝试使用此链接中的代码进行测试。 textuploader.com/16d4j 告诉我们您的测试结果。
-
您好,感谢您的回复。试试你告诉我的,但没有用。问题是该页面包含 3 个 EXAMINE 按钮,我必须单独使用所有 3 个按钮。我留下所有的 HTML 代码。
-
我建议你循环浏览网页上的所有按钮并检查它的innerHTML。如果匹配,请尝试单击该按钮。这样,您可以单独单击所有 3 个按钮。参考:textuploader.com/161k6
标签: javascript powershell internet-explorer onclick