1
ログインを自動化して特定のサイトからデータを収集しようとしています。ここに私のコードは、残念ながら、私はあなたが私は$にGMを使用する場合、私は[System .__ ComObject]が「Click」という名前のメソッドを持っていないためにメソッド呼び出しが失敗しました
<input name="submit" accesskey="l" value="Login" tabindex="4" type="submit" />
の下に使用して要素のHTMLコードを見ることができ、次のエラーメッセージ
Method invocation failed because [System.__ComObject] does not contain a method named 'Click'.
At line:17 char:5
+ $okbutton.Click($false);
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Click:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MethodNotFound
を取得
$ie = New-Object -ComObject InternetExplorer.Application;
$ie.Visible = $true;
$ie.Navigate("somesite");
while($ie.busy){Start-Sleep 1;}
while($ie.ReadyState -ne 4){Start-Sleep 1;}
if($ie.Document -ne $null)
{
$usertextbox = $ie.Document.GetElementById('username');
$passtextbox = $ie.Document.GetElementById('password');
$usertextbox.value = "$user";
$passtextbox.value = "$pass";
$okbutton = $ie.Document.getElementsByName('submit')[0];
$okbutton.Click($false);
}
ですOKボタン私はこれを得る
PS C:\Windows\system32> $okbutton | gm
TypeName: System.__ComObject#{3050f57d-98b5-11cf-bb82-00aa00bdce0b}
Name MemberType Definition
---- ---------- ----------
addBehavior Method int addBehavior (string, Variant)
addFilter Method void addFilter (IUnknown)
appendChild Method IHTMLDOMNode appendChild (IHTMLDOMNode)
applyElement Method IHTMLElement applyElement (IHTMLElement, string)
attachEvent Method bool attachEvent (string, IDispatch)
blur Method void blur()
clearAttributes Method void clearAttributes()
click Method void click()
限り、私はこの要素が間違いなくclick()メソッドを含む必要があります参照してください。しかし何らかの理由で私はまだそれを呼び出すことに失敗している。誰かが私にそのことについて助言することはできますか?
私はまだPoShでCOMオートメーションを行っていないので、答えではなくコメントとして投稿していますが、私はそれが単なる誤植であると確信しています。あなたのコードでは、.Click()メソッドを呼び出します。エラーメッセージは「クリック」を参照し、get-memberへのコールは「クリック」を綴ります。違いを見ます? –
試してみましたが、これは助けになりませんでした。 Btw gmはvoid click()を示しています。これは私が知る限りClick()を意味します – KennyMacCormik