#excel #vba #selenium
Вопрос:
Я пытаюсь написать сценарий, который будет перемещаться по этой веб — странице
https://www.theclearinghouse.org/uid-lookup
Как вы можете видеть на изображении, идентификатор элемента-SubmitUid
Но когда я использую d.FindElementById(«SubmitUid»).Щелчок
d-мой драйвер selenium chrome, который уже запустился и загрузил веб-страницу.(Снимок экрана сделан из браузера, который запустил selenium)
Я получаю NoSuchElementError
Комментарии:
1. На снимке экрана показано, что элемент, который вы пытаетесь щелкнуть, находится внутри рамки. Сначала переключитесь на рамку и попробуйте щелкнуть элемент.
2. Вместо этого используйте этот URL-адрес
https://www.theclearinghouse.org/uidhelper.html?height=1002amp;cacheb=0.86007592133721
Ответ №1:
Ваш целевой элемент находится внутри iframe с именем uidlookup
. Сначала вам нужно использовать switchTo
функцию, а затем вызвать FindElementById
.
Таким образом, ваш код будет выглядеть примерно так (этот код написан на Java, но в VBA есть аналогичные функции):
driver.switch_to.frame("uidlookup");
// do selections/clicks
driver.switch_to.default_content(); // move back to iframe
Комментарии:
1. спасибо за это, извините за медленный ответ