Селен Python: невозможно получить элемент по идентификатору, где идентификатор = принципал - PullRequest
0 голосов
/ 06 мая 2020

Для своей повседневной работы я пытаюсь создать Python скрипт, который может заполнять разные формы с разных веб-сайтов.

Вот что: для некоторых типов веб-сайтов я Не могу уловить элементы формы, которые Selenium. Например, на этом веб-сайте: https://econnect.bpcl.in/selfservice-ext/pub/login.html Там, где я проверяю страницу с Chrome, поле ввода «Идентификатор пользователя» имеет идентификатор «принципала», но Selenium не может его получить. И когда я показываю код html этой страницы, форма выглядит как добавленная с другой страницы или что-то в этом роде.

Я пытался getelementbyid, byname, bycssselector, et c. Я также попытался дождаться полной загрузки страницы с помощью WebDriverWait (driver, 5), но он все равно не работает.

Я также попробовал driver.execute_async_script и driver.execute_script

У вас есть какие-либо решения или предложения?

PS: Даже с javascript я не могу получить этот элемент по идентификатору

Спасибо

1 Ответ

0 голосов
/ 07 мая 2020

Вы можете попробовать использовать x-path, я использую расширение chrome: https://chrome.google.com/webstore/detail/xpath-finder/ihnknokegkbpmofmafnkoadfjkhlogph?hl=en

Чтобы найти элемент, который вы хотите заполнить

А затем вы можете использовать driver.find_element_by_xpath("X-PATH").sendkeys("...")
Если вы не хотите загружать расширение chrome, вы можете попробовать go сценарий HTML, но я сомневаюсь, что это сработает, потому что вы сказали, что это не было т работаю на тебя ...

...