Не могу понять, почему "selenium.common.exceptions.ElementNotInteractableException: Сообщение: элемент не взаимодействует" - PullRequest
1 голос
/ 03 августа 2020
"selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable"

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

В моем коде есть этот веб-сайт: https://www.tempinbox.xyz/ Я открываю его с помощью хромированной отвертки. я хочу выбрать (@ fitschool.be) из раскрывающегося меню доменов.

и ввести некоторую переменную строку, которую я сохранил как переменную "str (res)"

my код: -

second_tab = webdriver.Chrome(options=options,)

    second_tab.get("https://www.tempinbox.xyz/")
    randombutton = second_tab.find_element_by_xpath("/html/body/main/div[1]/div/div[1]/div[2]/form[1]/input[2]") #for the email generation
    randombutton.send_keys(str(res))
    mainurl = second_tab.current_url

    selectoption1=second_tab.find_element_by_id("selected-domain").click()
    selectoption2=second_tab.find_element_by_css_selector(".domain-selector:nth-child(3)").click()

    clickfinal= second_tab.find_element_by_xpath("//input[@value='Create']").click()
    emailentry = str(res)+ "@fitschool.be"

    print ("your email is " + emailentry)

но это дает мне ошибки ....

Traceback (most recent call last):
  File "C:\Users\BRS\Desktop\AccountChef\wattpad acc maker.py", line 45, in <module>
    selectoption2=second_tab.find_element_by_css_selector(".domain-selector:nth-child(3)").click()
  File "C:\Users\BRS\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
  File "C:\Users\BRS\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "C:\Users\BRS\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\BRS\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
  (Session info: chrome=84.0.4147.105)

Пожалуйста, предложите некоторые изменения и объясните, почему это происходит. Спасибо :)

1 Ответ

1 голос
/ 03 августа 2020

Вместо следующих двух строк:

selectoption1=second_tab.find_element_by_id("selected-domain").click()
selectoption2=second_tab.find_element_by_css_selector(".domain-selector:nth-child(3)").click()

Попробуйте установить внутреннее значение HTML с помощью .execute_script:

element = second_tab.find_element_by_id("selected-domain")
target = "@fitschool.be"
second_tab.execute_script("arguments[0].innerHTML = '{}';".format(target), element)
...