0

同期プロセスを自動化しようとしています。基本的には、サイトにログインしてユーザーを検索し、編集をクリックして3つの設定を変更する必要がありますが、なぜかPowerShellに編集をクリックさせることができません。<a href="/User/Detailsまたは><a href="/User/Edit/まったく変わりませんが、残りはユーザーによって異なります。

    <td>domain.com.com/OU/lastname, firstname</td>
    <td>username</td>
    <td>firstname</td>
    <td></td>
    <td>Pinar</td>
    <td></td>
    <td>00334764</td>
    <td>8/1/2012 5:53:45 PM</td>
    <td><a href="/User/Details/sajskjdf-ajsjkf-asddd">Details</a></td>
    <td><a href="/User/Edit/sajskjdf-ajsjkf-asddd">Edit</a></td>
</tr>

これまでの私のコードは次のとおりです。

#login to site
$url = "https://website"
$username = 'username'
$password = read-host "password"
$ie = New-Object -com internetexplorer.application;
$ie.visible = $true;
$ie.navigate($url);

while ($ie.Busy -eq $true)
{
    Start-Sleep -Milliseconds 100;
}

$ie.Document.getElementById("username").value = $username
$ie.Document.getElementById("Password").value = $password
$go = $ie.Document.getElementsByTagName(‘button’) | where-object {$_.type -eq ‘submit’}
$go.click()

while($ie.Busy) {Start-Sleep 1}

# Enter the username you want to edit
$logonname=read-host "logonname"
$ie.Document.getElementById("query").value = $logonname
$go2 = $ie.Document.getElementsByTagName(‘button’) | where-object {$_.type -eq ‘submit’}
$go2.click()

while($ie.Busy) {Start-Sleep 1}

# I can't make this part work :(
$go3 = $ie.Document.getElementsByTagName(‘A’)
$yt = $go3 | where-object {$_.innerText -eq '/Edit/User/'}
$yt.click()
4

1 に答える 1

2

特定のリンクをクリックする例を次に示します。

$ie = New-Object -ComObject InternetExplorer.Application
$ie.visible=$true
$ie.navigate2('http://google.com/')
while($ie.Busy) {Start-Sleep 1}
$links = $ie.Document.getElementsByTagName('A')
$yt = $links | where {$_.innerText -eq 'YouTube'}
$yt.click()
于 2012-09-26T17:38:42.787 に答える