selenium.common.exceptions.ElementNotVisibleException: Сообщение: элемент не взаимодействует с помощью Selenium - PullRequest
0 голосов
/ 25 ноября 2018

Я ищу программу для развлечения, но у меня есть некоторые проблемы с селеном, и мне нужна помощь ... Это программа (я удалил каталог веб-драйвера, потому что имя папки содержит имя другого человека)

from selenium import webdriver
import webbrowser
import time


def Pass_send_():
    driver=webdriver.Chrome()
    driver.get('chrome://flags/#password_export-enable')


    ricerca=driver.find_element_by_id("search")
    ricerca.send_keys('password export')
    scorritore=driver.find_element_by_class_name('experiment-select')
    scorritore.click()



Pass_send_()

Итак, цель проста: нужно открыть окно, ввести текст и нажать кнопку.все работает, но щелчок не работает, и это ошибка:

Traceback (most recent call last):
      File "C:\Python34\internet22.py", line 18, in <module>
Pass_send_()
  File "C:\Python34\internet22.py", line 14, in Pass_send_
scorritore.click()
  File "C:\Python34\lib\site- 
   packages\selenium\webdriver\remote\webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
  File "C:\Python34\lib\site- 
packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "C:\Python34\lib\site- 
packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Python34\lib\site- 
packages\selenium\webdriver\remote\errorhandler.py", line 242, in 
check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable

Так что я не эксперт, но он говорит: элемент не является взаимозаменяемым?что это значит и как я могу это исправить?я был бы очень признателен за ответ ...

1 Ответ

0 голосов
/ 25 ноября 2018

Чтобы отправить последовательность символов в поле поиска на веб-странице chrome://flags/#password_export-enable, вам нужно вызвать WebDriverWait , и вы можете использовать следующее решение:

  • Блок кода:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
    options = Options()
    options.add_argument('start-maximized')
    options.add_argument('disable-infobars')
    options.add_argument('--disable-extensions')
    driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
    driver.get('chrome://flags/#password_export-enable')
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input#search"))).send_keys("password export")
    
  • Снимок браузера:

chrome_password_export

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