Я пытаюсь запустить определенный код на VBA и вижу следующую ошибку во время выполнения error run-error error-2147319765 (8002802b) - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь запустить код в Excel VBA и пытаюсь выбрать лист во время запуска макроса.

Sub Selstart()
Dim driver As ChromeDriver
Set driver = New ChromeDriver
driver.Get ("abc.com")
Dim a, b As String
a = "getlam"
b = "strak"
driver.FindElementByXPath(".//*[@id='loginForm']/div[1]/div[1]/input").SendKeys a
driver.FindElementByXPath(".//*[@id='loginForm']/div[1]/div[2]/input").SendKeys b
driver.FindElementByXPath(".//*[@id='Submit_button']").Click
Dim url0 As String
url0 = Sheets("Hyperlinks").Range("F5").Value
driver.Get url0
'open chrome and select page'

Application.Wait (Now() + TimeValue("00:00:01"))
SendKeys "^{a}"
Application.Wait (Now() + TimeValue("00:00:01"))
SendKeys "^{c}"
Application.Wait (Now() + TimeValue("00:00:01"))
Sheets("dump").Select
Sheets("dump").UsedRange.ClearContents
'clear range contents'

Range("A1").Select
ActiveSheet.Paste
'paste the content'

driver.Get url0
Application.Wait (Now() + TimeValue("00:00:02"))
driver.FindElementByXPath(".//a[normalize-space()='Next']").Click
'Click on Next button'
Application.Wait (Now() + TimeValue("00:00:01"))
SendKeys "^{a}"
Application.Wait (Now() + TimeValue("00:00:01"))
SendKeys "^{c}"
Application.Wait (Now() + TimeValue("00:00:01"))
Sheets("dump").Select
Range("A130").Select
ActiveSheet.Paste

driver.Get url0
Application.Wait (Now() + TimeValue("00:00:02"))
driver.FindElementByXPath(".//a[normalize-space()='Next']").Click
Application.Wait (Now() + TimeValue("00:00:02"))
driver.FindElementByXPath(".//a[normalize-space()='Next']").Click
'Click on Next button*2'

Application.Wait (Now() + TimeValue("00:00:01"))
SendKeys "^{a}"
Application.Wait (Now() + TimeValue("00:00:01"))
SendKeys "^{c}"
Application.Wait (Now() + TimeValue("00:00:01"))
Sheets("dump").Select
Range("A260").Select
ActiveSheet.Paste`

Код выполняется идеально время от времени, но выдает ошибку при запуске "Sheets (" dump "). Select". скриншот ошибки прикрепления

Ошибка скриншота

Error screenshot

1 Ответ

0 голосов
/ 11 июня 2018

Лучше избегать использования .Select / .Activate. Попробуйте код ниже:

Sub Selstart()
Dim driver As ChromeDriver
Set driver = New ChromeDriver

Dim dumpWS As Worksheet
Dim linkWS As Worksheet

Set dumpWS = Worksheets("dump")
Set linkWS = Worksheets("Hyperlinks")


driver.Get ("abc.com")
Dim a, b As String
a = "getlam"
b = "strak"
driver.FindElementByXPath(".//*[@id='loginForm']/div[1]/div[1]/input").SendKeys a
driver.FindElementByXPath(".//*[@id='loginForm']/div[1]/div[2]/input").SendKeys b
driver.FindElementByXPath(".//*[@id='Submit_button']").Click
Dim url0 As String
url0 = linkWS.Range("F5").Value
driver.Get url0
'open chrome and select page'

Application.Wait (Now() + TimeValue("00:00:01"))
SendKeys "^{a}"
Application.Wait (Now() + TimeValue("00:00:01"))
SendKeys "^{c}"
Application.Wait (Now() + TimeValue("00:00:01"))
dumpWS.UsedRange.ClearContents
'clear range contents'

dumpWS.Range("A1").Paste
'paste the content'

driver.Get url0
Application.Wait (Now() + TimeValue("00:00:02"))
driver.FindElementByXPath(".//a[normalize-space()='Next']").Click
'Click on Next button'
Application.Wait (Now() + TimeValue("00:00:01"))
SendKeys "^{a}"
Application.Wait (Now() + TimeValue("00:00:01"))
SendKeys "^{c}"
Application.Wait (Now() + TimeValue("00:00:01"))
dumpWS.Range("A130").Paste

driver.Get url0
Application.Wait (Now() + TimeValue("00:00:02"))
driver.FindElementByXPath(".//a[normalize-space()='Next']").Click
Application.Wait (Now() + TimeValue("00:00:02"))
driver.FindElementByXPath(".//a[normalize-space()='Next']").Click
'Click on Next button*2'

Application.Wait (Now() + TimeValue("00:00:01"))
SendKeys "^{a}"
Application.Wait (Now() + TimeValue("00:00:01"))
SendKeys "^{c}"
Application.Wait (Now() + TimeValue("00:00:01"))
dumpWS.Range("A260").Paste

End Sub

Хотя я не думаю, что строка .Select выдает ошибку. Когда вы нажимаете «Отладка», вы уверены, что эта строка выделена? Я думаю Element not Found это проблема с одним из XPaths ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...