2009-11-10 19 views
0

有沒有任何經驗如何做到這一點冷,如果你看看圖像即時尋找一個解決方案,以便將名稱字段更改爲somehing其他存儲從一個變量另一個文本框。在Siebel CRM系統中自動生成文本框,在c#中通過webBrowser1#

我想使用類似

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

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

但我不知道該文本框的名稱,並Sieble似乎是一個java的事情嗎?所以我不能看到它背後的來源?有誰知道如何解決這個問題。即時通訊製作一個自動化應用程序,以幫助每天處理超過100個案件。而不是輸入名稱,即時通訊尋找一個解決方案,通過點擊一個按鈕來填充。

由於我們沒有Siebel develompent的控制,所以我不能使用這個API,因爲我們不需要幾年的時間才能讓Sieble部門在GUI中實現像這樣的東西。所以即時製作一個桌面應用程序,可以解決這個問題。

alt text

回答

0

我對這個解決方案是使用cordinates,並模擬鍵klicks,使用全局鼠標和鍵盤這個圖書館IM,在這個位置找到http://www.codeproject.com/KB/system/globalmousekeyboardlib.aspx

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(); 

    } 
0

聽起來像是你只是需要搜索通過HTML(手動),直到你看到的姓名/你需要設置字段標識。

此外,如果網站支持Firefox,請嘗試使用Firebug。在Firebug的檢查模式下,您可以將鼠標懸停在文本字段上並獲取它的ID。

+0

已經嘗試過,但我寫了。 「但我不知道文本框的名稱,它是一個Java的東西,所以我不能看到它背後的來源,沒有人知道如何解決這個問題。」 – Darkmage 2009-11-10 19:28:14

+0

你的意思是它是一個Java小程序? – 2009-11-10 20:47:30

+0

似乎是某種java是的,源im能夠查看從挖掘araound顯示連接到許多.js文件,所以我假設我查看的視圖是基於java,當我右鍵單擊頁面上的灰色區域即時獲得一個不同的meny然後正常IE meny ... 頂視圖看起來像一個數據網格? – Darkmage 2009-11-10 23:05:54

0

@Darkmage - 這是一個WinForms應用程序。如果所以你沒有任何問題在.NET Webroswer控件中加載siebel activeX控件?