0

Visual Foxpro でプログラミングしています。送信ボタンでプログラムで .click() を試みました。以前は機能していましたが、現在は何もトリガーしません。または、フォームを .submit() しようとしました。これも何もトリガーしません。しかし、ウェブサイトで送信ボタンをクリックすると、完全に機能します。誰でも私を助けることができますか?arunkasi.co@gmail.com

次のように私のコーディング:

declare Sleep in kernel32 integer nmilliseconds

WebMain = CREATEOBJECT("InternetExplorer.application")
WebMain.navigate("https://epayment.hasil.gov.my/fpx/one.php")
WebMain.visible = .t.

DO WHILE WebMain.busy .OR. WebMain.readystate#4
   Sleep(300)
ENDDO

WebMain.Document.Forms("LogonForm1").jenis_id.selectedindex = 1
WebMain.Document.Forms("LogonForm1").no_id.Value = "123456781234"
WebMain.Document.Forms("LogonForm1").kapca.Value = "56789"
WebMain.Document.Forms("LogonForm1").cmdSubmit.click() && IT DOES NOT WORK !
WebMain.Document.Forms("LogonForm1").Submit() && ALTERNATIVELY, THIS TOO DOES NOT WORK !
4

2 に答える 2

0

click() または submit() にパラメーターを追加します。これはうまくいきます:

WebMain.Document.Forms("LogonForm1").cmdSubmit.click(1) 
or
WebMain.Document.Forms("LogonForm1").Submit(1) 
于 2015-06-05T10:38:48.617 に答える
0

動作の変化の原因として最も可能性が高いのは、Internet Explorer の更新です。これにより、セキュリティ モデルが改善され、悪意のある Web サイトが不要な動作を挿入するのを防ぐことができます。

アクセスしようとしている Web サイトに、Web ページを使用する代わりに (MSXML.XMLHTTPRequest オブジェクトを使用するなど)、アプリケーションが HTTP 経由で POST メッセージを送信するために使用できる実際の Web サービスがあるかどうかを確認します。その Web サイトがあなたの会社のものである場合、適切な Web サービスを作成することは、FoxPro を使用して Internet Explorer を自動化するよりもはるかに効率的です。

しかし、それが不可能な場合は、IE 固有のfireEventメソッドを使用するようにコードを調整できると思います。

于 2013-08-01T05:15:55.783 に答える