2009-11-10 48 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控件?