Селен, Chrome, Excel VBA не хватает памяти - PullRequest
0 голосов
/ 28 февраля 2019

Я хочу автоматизировать очень простую проверку xpath из Excel, используя Selenium, и получаю ошибку времени выполнения '7': Недостаточно памяти.

Я довольно успешно автоматизировал использование AHKно новичок в VBA, поэтому мне любопытно, что может быть причиной проблемы.В настоящее время страница загружается, но как только она проверяет XPath, она почти сразу же появляется с ошибкой во время выполнения.

Я дважды проверил, нет ли запущенных дополнительных процессов или у меня мало памяти, и ни одна из них не является проблемой.У меня достаточно свободной памяти и я закрыл все процессы, поэтому я предполагаю, что в моем коде произошла ошибка или возникла какая-то проблема, о которой я не знаю.Я обновился до последней версии ChromeDriver для Selenium и уверен, что Xpath верен.

Public Sub DupeCheck()

Dim CID As String
Dim HireURL As String
Dim SearchResult As String

CID = 14962738
HireURL = "https://hire.amazon.com/search?q=" & CID & "&sort=relevance_desc&type=candidate"

Dim bot As New WebDriver
bot.Start "chrome", HireURL
bot.Get "/"

SearchResult = bot.FindElementByXPath(".//*[@id='search-page-root']/div[1]/div[2]/div/div[2]/div/div/div[2]/div/div/ul/li[1]/div/div[1]/div[1]/div[2]").Attribute("innerText")

MsgBox (SearchResult)

bot.Quit
End Sub

Кто-нибудь знает, что может быть причиной проблемы?Я искренне ценю любую помощь или идеи!Спасибо!

1 Ответ

0 голосов
/ 01 марта 2019

Для html, который вы показали, и после нашего обсуждения используйте css attribute = value selector с оператором заканчивается на ($), чтобы указать, что значение атрибута класса заканчивается указанной подстрокой

FindElementByCss("[class$='e15zxa0z0']")

Если вам нужны значения атрибутов, вы можете использовать метод .Attribute, например:

FindElementByCss("[class$='e15zxa0z0']").Attribute("attributename")

XPath может быть особенно хрупким, а селекторы css - это, как правило, более быстрые методы выбора, поскольку современные браузеры оптимизированы для css.Они также должны занимать меньше памяти.

Это единственный экземпляр XPath, который вы используете в своем коде?См исчерпание памяти

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