首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell Web自动化

Powershell Web自动化
EN

Stack Overflow用户
提问于 2017-01-17 18:42:56
回答 1查看 2.1K关注 0票数 0

我有一个网站,有一个按钮,不成为活动,直到一个选项被选中。但是我选择了一个选项,这个按钮仍然不会激活,除非我物理地点击它。我正在考虑使用发送键vb风格的powershell脚本,但听说它不推荐,因为焦点问题。[System.Windows.Forms.SendKeys]::SendWait(“{ENTER}”)

这就是我曾经尝试过的,但并没有为我工作。(我可以更改列表选项,但不能单击该按钮,因为它是灰色的)。我看到它使用了某种类型的XML1.0,我可以用它或"Go_NextPage(document.FORM.Class)"做一些事情吗?

Powershell:

代码语言:javascript
复制
$ie = New-Object -ComObject "InternetExplorer.Application"
$ie.navigate("http://website/address")
$ie.visible =$true

While ( $ie.busy -eq $true){
[System.Threading.Thread]::Sleep(1000)
}
$doc = $ie.document
$type = $doc.getElementById("class")
#$type.click() << was seeing if i could click it even though its not a button. 
$type.value = "7"

$bt = $doc.getElementsByTagName("input") | 
Where-Object {$_.Name -eq "Class_Button"}
$bt.click() # but is grayed out

HTML代码:

代码语言:javascript
复制
<td>
<select name="Class" id="Class" size="1">
<script language="JavaScript" type="text/javascript">
//<![CDATA[
AdrTypeList();
//]]>
</script>
   <option value="2">Some </option>
   <option value="3">Thing </option> 
   <option value="7">File 
 </option></select>
 <input type="button" class="ButtonEnable" name="Class_Button"    
 id="Class_Button" value="Set " onclick="Go_NextPage(document.FORM.Class)">
 </td>
EN

回答 1

Stack Overflow用户

发布于 2017-01-18 00:13:15

下面的答案是基于我在本地机器上测试样本PowerShell和HTML的经验。虽然我下面提到的改变在我的机器上起作用..。点击这里的按钮,显然什么也不做,所以我不能100%保证它会在你的一端工作。

我确信传入'getElementById‘的字符串是区分大小写的,所以'Class’不同于'class‘。

在我对代码的测试中,我最初得到一个空对象,直到更改大写为止。

接下来您会发现,该方法返回一个集合(在本例中是一个集合),因此您需要引用特定的对象来设置value属性(例如$type[0].value = "7")。

最后,“getElementByTagName”返回的对象似乎没有提供您所期望的所有信息(或方法)。特别是对我来说,没有名称值,也没有单击方法。

与其使用标签名和where语句,我建议直接使用名称:

代码语言:javascript
复制
$doc.IHTMLDocument3_getElementsByName('Class_Button')

( $doc.getElementsByName('Class_Button')不适合我,而且我看到很多人建议默认使用ITHMLDocument3方法。)

这样做的寓意是理智地检查你的代码。运行一行并再次检查预期返回的内容是否实际返回,请尝试运行该方法,而不将其赋值给变量,以确定它是否正确地输出到提示。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41704642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档