我正在使网站自动化以实现出色的复制粘贴效果。 这里的网站是政府网站,因此处理起来有些棘手。 我从该网站提取数据时遇到问题:------ http://nhb.gov.in/IndexPage.aspx?enc=nRXYbvwNFTF218kodGo9fg==
很少尝试使用的项目代码是:
我有一个项目代码列表,应该从附加的excel文件中获取,粘贴到网站中,然后单击“验证”按钮。
然后在下一页中,相同的项目代码将被超链接,单击该链接将使我们进入结果页面,其中包含有关该项目的信息,该信息将被提取并粘贴到相应项目代码旁边的excel工作表中,例如这些表和数据。(这是后面的部分,可以进行调整)。
下一个障碍是: 要从工作表中获取“下一个项目代码”,页面必须类似于第一个屏幕截图,可通过单击“返回列表” 来实现。见下图:
单击后,将返回到需要单击“返回搜索页面” 的页面,该页面会将我们带到我们开始的主页,然后才可以粘贴新的项目代码。
我第一步尝试了一下: 1)打开页面 2)输入项目代码 3)点击“非常”按钮
Option Explicit
Public Sub NHBsite()
Dim bot As WebDriver, rng As Range, Cell As Range
Dim ws As Worksheet
Const URL As String = "http://nhb.gov.in/IndexPage.aspx?enc=nRXYbvwNFTF218kodGo9fg=="
Set bot = New ChromeDriver
Set ws = ThisWorkbook.Worksheets("Data")
Set rng = ws.Range(ws.Range("A2"), ws.Range("A2").End(xlDown))
'bot.Window.Maximize
For Each Cell In rng
bot.Get URL
bot.FindElementById("ctl00_ContentPlaceHolder1_ctl00_txtProjectCode").SendKeys Cell.Value
bot.FindElementById("ctl00_ContentPlaceHolder1_ctl00_btnSearchProject").Click
bot.FindElementById("ctl00_ContentPlaceHolder1_ctl00_gvSerachDetails_ctl02_lblProjectCode").Click
'bot.Wait 1000
'bot.TakeScreenshot.SaveAs (ThisWorkbook.Path + "/Screenshot_" + Cell.Value + ".jpg")
Next
bot.Quit
结束子
请对此提供帮助。 我每天像这样花6到7个小时坐在这里,也可以从网站上学习,也可以浏览YouTube视频和电子书。
答案 0 :(得分:1)
您要循环编码,每个新编码都导航回到起始URL。 (未测试)
Option Explicit
Public Sub NHBsite()
Dim bot As WebDriver, rng As Range
Dim ws As Worksheet, cell Ad Range
Const URL As String = "http://nhb.gov.in/IndexPage.aspx?enc=nRXYbvwNFTF218kodGo9fg=="
Set bot = New ChromeDriver
Set ws = ThisWorkbook.Worksheets("Data")
Set rng = ws.Range(ws.Range("A2"), ws.Range("A2").End(xlDown))
bot.Window.Maximize
For Each Cell In rng
bot.get URL
bot.FindElementById("ctl00_ContentPlaceHolder1_ctl00_txtProjectCode").SendKeys Cell.Value
bot.FindElementById("ctl00_ContentPlaceHolder1_ctl00_btnSearchProject").Click
bot.Wait 1000
bot.TakeScreenshot.SaveAs (ThisWorkbook.Path + "/Screenshot_" + Cell.Value + ".jpg")
Next
bot.Quit
End Sub