0

他のテキストボックスの変数に保存されている名前フィールドをプログラムで変更するソリューションを探している画像を見ると、このコールドがどのように行われるか経験はありますか?

私は次のようなものを使用することを考えていました

    private void button1_Click(object sender, EventArgs e)
    {
      var xBox = textbox1.value;

      webBrowser1.Document.All.GetElementsByName("Name")[0].SetAttribute("Value", xBox);
    }

しかし、私はテキストボックスの名前を知りません.SiebleはJavaのもののようですか? だから私はその背後にあるソースを見ることができませんか?誰もこの問題を解決する方法を知っていますか。1日に100件以上のケースを処理するために、仕事で役立つ自動化アプリを作成しています。名前を入力する代わりに、ボタンをクリックして入力するソリューションを探しています。

Siebel 開発者の管理者がいないため、Sieble API でこれを処理することはできず、Sieble 部門にこのようなものを GUI に実装させるには何年もかかるでしょう。そのため、問題を処理できるデスクトップ アプリを作成しています。

代替テキスト

4

3 に答える 3

0

これに対する私の解決策は、座標を使用してキーのクリックをシミュレートすることでした。このためにグローバルマウスとキーボードライブラリを使用しています

private void button1_Click(object sender, EventArgs e)
    {
        this.Location = new Point(0, 0);

        inputBlocker();
        xX = int.Parse(this.Location.X.ToString());
        yY = int.Parse(this.Location.Y.ToString());
        defaultMousePos();
        //Thread.Sleep(600);

       Cursor.Position = new Point(Cursor.Position.X + 1185, Cursor.Position.Y + 254);
       //Thread.Sleep(600);
       MouseSimulator.DoubleClick(MouseButton.Left);
       KeyboardSimulator.KeyPress(Keys.T);
       KeyboardSimulator.KeyPress(Keys.E);
       KeyboardSimulator.KeyPress(Keys.S);
       KeyboardSimulator.KeyPress(Keys.T);
       KeyboardSimulator.KeyPress(Keys.O);
       KeyboardSimulator.KeyPress(Keys.K);
       KeyboardSimulator.KeyPress(Keys.Enter);



       needUnblock = true;
       inputBlocker();

    }
于 2009-11-12T15:39:40.567 に答える
0

設定する必要があるフィールドの名前/IDが見つかるまで、htmlを(手動で)検索する必要があるようです。

また、サイトが Firefox をサポートしている場合は、Firebugを使用してみてください。Firebug の検査モードでは、テキスト フィールドの上にマウスを置くと、その ID を取得できます。

于 2009-11-10T19:24:52.837 に答える
0

@Darkmage - これは winforms アプリケーションですか?.そうであれば、.NET webroswer コントロールに siebel ActiveX コントロールをロードする際に問題はありませんでしたか?

于 2010-09-02T08:34:01.277 に答える