Элементы не могут быть найдены в chrome: // settings / content - PullRequest
0 голосов
/ 23 января 2019

Проблема:

После веб-перехода на chrome://settings/content с использованием chromedriver и selenium я столкнулся с проблемой, в которой не было найдено ни одного элемента, даже если я дал точный xpath, скопированный из инструментов разработки Chrome, или если я изменил свойметод поиска, например, использование find_element_by_tag_name() вместо этого и поиск дополнительных базовых элементов, например, элемент <h1>Settings</h1>.

Это не проблема моего метода поиска, поскольку я могу перейти на любую другую веб-страницу и правильно выбрать элементы.

Является ли это функцией безопасности Chrome, которая прекращает работу в своих настройках, или что-то подобное?

Характеристики:

  • Python3.7
  • Chromedriver
  • Selenium - последняя версия

Ответы [ 2 ]

0 голосов
/ 24 января 2019

К сожалению, нет разрешения, которое позволило бы вам получить доступ к chrome:// схеме URL.

Это явный механизм защиты от потенциально злонамеренных изменений настроек Chrome.

Вы можете получить доступ, если включите флаг extensions-on-chrome-urls, но, очевидно, вы не можете сделать это на машинах, которые вы не полностью контролируете.

Кроме того, в Chrome отсутствует API для манипулирования пользователями.

источник: Здесь

0 голосов
/ 23 января 2019

это Shadow-DOM, с помощью селектора CSS выберите /deep/

driver.find_element_by_css_selector('settings-ui /deep/ h1')
# or
driver.find_element_by_css_selector('* /deep/ h1')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...