我正处于尝试从网站自动化数据输入和收集的最初阶段。我有一个16,000行CSV文件。对于每一行,我想将该行中的数据输入到网页上的textarea
。然后,网页可以使用该数据执行一些计算,并吐出我收集的答案。具体来说,在网页http://www.mirbase.org/search.shtml上,我想在底部的序列文本框中输入序列,按“搜索miRNA”按钮,然后在下一页收集结果。
我现在的计划是使用C#WebBrowser
。我的理解是,我可以通过HtmlDocument
,id
或坐标访问name
中的各个元素。最后一个选项并不理想,因为如果我将这个程序分发给其他人,我无法确定他们是否在相同的坐标上使用。至于其他两个选项,textarea
有name
,但它与表单名称相同,所以我不知道如何访问它。我要点击的按钮既没有name
也没有id
。
有没有人对如何访问我需要的元素有任何想法?我绝不会采用这种方法,所以如果有更简单/更好的方式,我肯定会接受建议。
答案 0 :(得分:4)
WebBrowser
课程不是为此设计的,因此您提出问题的原因。
您需要查看为网络自动化设计的工具。
由于您使用的是C#,Selenium有一套很棒的C#绑定,它可以解决您的问题,因为您将使用不同的定位器(通过CSS选择器或XPath专门定位元素)。
答案 1 :(得分:0)
检查mshtml - Mshtml on msdn
您可以将它与WebBrowser对象一起使用。
将Microsoft.mshtml引用添加到您的项目中,并在您的类中使用mshtml声明。
使用mshtml,您可以轻松设置和获取元素属性。