Я нахожу трудности в функциональности l oop, ie. взятие значений из таблицы Excel и выполнение задачи. У меня есть этот сайт: http://dgftebrc.nic.in: 8100 / BRCQueryTrade / index. jsp, где мне нужно ввести IEC Код:
- 0906008051
- 0906008069
Позже введите
Счет доставки:
- 3929815
- 3953913
- 3979509
Я имею в виду, что на данный момент я жестко запрограммирован, но не могу заставить его работать в al oop, так как у меня большие данные и Я не могу написать это жестко, так как для номера 1 IEC у меня есть около 1000 SB.no, поэтому может быть 100 IEC номеров, следовательно, много накладных (SB.no) Нет.
Работа с закладками, которые я решил, но затем работа с несколькими счетами на доставку №. вызывает у меня проблемы.
Я мог бы справиться с этой большой частью кода:
Option Explicit
Public Sub multipletabtest()
Dim bot As WebDriver
Dim keys As New Selenium.keys
Dim count As Long
Set bot = New WebDriver
bot.Start "Chrome"
'count = 1
'While (Len(Range("A" & count)) > 0)
bot.Get "http://dgftebrc.nic.in:8100/BRCQueryTrade/index.jsp"
bot.FindElementByXPath("//input[@type='text'][@name='iec']").SendKeys "0906008051"
bot.FindElementByXPath("//input[@type='text'][@name='sno']").SendKeys "3929815"
bot.Wait 10000 'Time to enter the captcha
bot.FindElementByCss("[value='Show Details']").SendKeys keys.Control, keys.Enter 'Take the value from final result sheet
bot.SwitchToNextWindow
ThisWorkbook.Sheets("Sheet1").Range("B1") = bot.FindElementByXPath("//text()[.='Used']/ancestor::td[1]").Text
'Range("B" & count) = bot.FindElementByXPath("//text()[.='Used']/ancestor::td[1]").Text 'To extract the data
'bot.Window.Close
bot.SwitchToPreviousWindow
bot.FindElementByXPath("//input[@type='text'][@name='sno']").Clear
bot.FindElementByXPath("//input[@type='text'][@name='sno']").SendKeys "3953913"
bot.FindElementByCss("[value='Show Details']").SendKeys keys.Control, keys.Enter
bot.SwitchToNextWindow
ThisWorkbook.Sheets("Sheet1").Range("B2") = bot.FindElementByXPath("//text()[.='Used']/ancestor::td[1]").Text
'Range("B" & count) = bot.FindElementByXPath("//text()[.='Used']/ancestor::td[1]").Text
'count = count + 1
'Wend
bot.Quit
End Sub
И если кому-то интересно, почему Ctrl + Enter , это потому, что Captcha остается неизменным для других номеров накладных, поэтому выберите этот метод.
Я также пробовал оператор while, но затем извлеченные данные копируются дважды.