使用c# WebBrowser实现Web自动化

本文关键字:Web 自动化 实现 WebBrowser 使用 | 更新日期: 2023-09-27 18:01:19

我正处于尝试从网站自动输入和收集数据的早期阶段。我有一个16000行CSV文件。对于每一行,我想从该行输入数据到网页上的textarea。然后,该网页可以对这些数据进行一些计算,并给出我收集的答案。具体来说,在网页http://www.mirbase.org/search.shtml上,我想在底部的序列文本框中输入一个序列,按下"Search miRNAs"按钮,然后在下一页收集结果。

我现在的计划是使用c# WebBrowser。我的理解是我可以通过id, name或坐标来访问HtmlDocument中的单个元素。最后一种选择并不理想,因为如果我将这个程序分发给其他人,我不能确定他们是否会在相同的坐标上使用。至于其他2个选项,textareaname,但它与表单名称相同,所以我不知道如何访问它。我想单击的按钮既没有name也没有id

有没有人对如何访问我需要的元素有任何想法?我对这种方法并不感冒,所以如果有更简单/更好的方法,我当然愿意接受建议。

使用c# WebBrowser实现Web自动化

WebBrowser类不是为此而设计的,因此为什么你会提出你的问题。

你需要研究一个工具,它是为 web自动化而设计的

因为您使用的是c#,所以Selenium有一组很棒的c#绑定,它可以解决您的问题,因为您将使用不同的定位器(通过CSS选择器或XPath来定位元素)。

http://docs.seleniumhq.org/

查看msdn上的mshtml - mshtml

你可以把它和WebBrowser对象一起使用。

加入微软。MSHTML对项目的引用,以及在类中使用MSHTML声明。

使用mshtml可以很容易地设置和获取元素属性