繁体   English   中英

您不能在空值表达式上调用方法。 通过 powershell 在网页中单击按钮

[英]You cannot call a method on a null-valued expression. clicking button in webpage via powershell

我正在尝试单击 Synology nas 网页环境中的按钮。 可悲的是$link=$ie.Document.getElementByID('ext-gen258') $linck.click()

不起作用,因为当您重新加载页面时元素 id 会不断变化。

我试图打开的元素:

<div class="item-wrap" id="ext-gen1413" role="button" aria-labelledby="controlpanel:leaf_security" cate="tree:node_connection" fn="SYNO.SDS.AdminCenter.Security.Main">
    <div class="icon-image syno-app-admin-center-icon-image" style='background-image: url("webman/modules/AdminCenter/images/default/1x/home_icons/security.png?v=25426-s2");'></div>
    <div class="text" id="controlpanel:leaf_security">Beveiliging</div>
</div>

我还尝试了以下代码:

$button = $ie.Document.getElementsByTagName("div") | 
          Where-Object {$_.value -eq "controlpanel:leaf_security"}

$button.click()

但是随后代码将无法恢复并卡住。 我究竟做错了什么?

$doc = $ie.document

# commit the button
$commit = $doc.getElementById("controlpanel:leaf_security")
if ($commit) { $commit.click() } 

这段代码有效......不知道为什么你会喜欢有一个解释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM