整张表格填写完后,网页加载出现问题。 下一页是我需要进行数据提取的地方。 这是网站: https://enquiry.icegate.gov.in/enquiryatices/sbTrack
请在此处找到示例数据:
SELECT LOCATION : HYDERABAD ICD (INSNF6)
ENTER SHIPPING BILL No. : 8991212
ENTER SHIPPING BILL DATE : 29-09-2017
ENTER IMAGE LETTERS : This is the Captcha( to be entered manually)
问题是,一旦单击“提交”按钮,就不会加载下一页,因此下面几行试图查找根本没有加载的元素。 我的朋友已经使用Java进行了尝试,并且似乎可以使用(.Refresh),但是在VBA中,这是一个问题。
请有人在这里帮助我。
Option Explicit
Sub icegateNewww()
Dim e, bot As WebDriver, ele As SelectElement, eledpTD As Object, r As Long, i As Long
Dim elem As WebElement
Set bot = New WebDriver
r = 1
With bot
.Start "Chrome"
While (Len(Range("A" & r)) > 0)
.Get "https://enquiry.icegate.gov.in/enquiryatices/sbTrack"
'line:
.FindElementByXPath("//select[@id='location']").SendKeys Range("A" & r)
.FindElementByXPath("//input[@id='sbNO']").SendKeys Range("B" & r)
.FindElementByXPath("//img[@src='/enquiryatices/image/Dateicon.gif']").Click 'To open date picker
'To pick up the date
Set ele = .FindElementByName("calendar-month").AsSelect
ele.SelectByIndex Month(Cells(r, 3)) - 1
Set ele = .FindElementByName("calendar-year").AsSelect
ele.SelectByValue CStr(Year(Cells(r, 3)))
Set eledpTD = .FindElementsByClass("dpTD")
For Each e In eledpTD
If Val(e.Text) = Val(Day(Cells(r, 3))) Then
e.Click: Exit For
End If
Next e
.FindElementById("captchaResp").Click
.Wait 10000
.FindElementByXPath("//input[@id='SubB']").Click 'To click on the submit button
'If (.FindElementByXPath("//span[contains(text(),'Invalid Code! Please try again!')]") = "Invalid Code! Please try again!") Then
'End If
'GoTo line
.Wait (3000)
'Below lines are to click on each element & extract the data
.FindElementByXPath("//span[contains(text(),'SB Details')]").Click
Range("D" & r) = .FindElementByXPath("//div[@id='sbICES_Details']//center//div//table").Text
.FindElementByXPath("//span[contains(text(),'Item Wise Reward Details')]").Click
Range("E" & r) = .FindElementByXPath("//div[@id='itemWiseRewardTdId']//center//div//table").Text
r = r + 1
Wend
End With
End Sub