Мне трудно извлечь (изменить) текст XPath на странице конечного результата. Этот веб-сайт: http://dgftcom.nic.in/licasp/IecDenQuery.asp Мало IEC Примеры кодов
0504057006
Option Explicit Public Sub EntityList() Dim bot As WebDriver Dim count As Long Set bot = New WebDriver bot.Start "Chrome" count = 1 While (Len(Range("A" & count)) > 0) bot.Get "http://dgftcom.nic.in/licasp/IecDenQuery.asp" bot.FindElementByXPath("//input[@type='text'][@name='IEC']").SendKeys Range("A" & count) bot.FindElementByXPath("//input[@type='submit'][@name='B1']").Click Range("B" & count) = bot.FindElementByXPath("/html/body/table[2]/tbody/tr/td/font/strong").Text 'Range("B" & count) = bot.FindElementByXPath("//table/tbody/tr[1]/td[1]").Text bot.Wait 1000 count = count + 1 Wend bot.Quit End Sub
Проблема здесь в том, что при вводе следующего кода IEC происходит изменение в XPath, и на этом весь код заканчивается внезапно.
Существует одна из двух комбинаций в зависимости от того, есть ли у таблицы результатов результаты. Вы можете использовать css Или синтаксис. Должно быть быстрее чем xpath
Range("B" & count) = bot.FindElementByCss("table td, table + font").Text
Попробуйте следующее XPath.
//font[contains(.,'IEC :')]
Код :
Range("B" & count) = bot.FindElementByXPath("//font[contains(.,'IEC :')]").Text