Как нажать кнопку, которая отображается в виде метки?

#python #selenium

#python #selenium

Вопрос:

Изображение кода и как выглядит кнопка

Я пытаюсь нажать эту кнопку добавить, но я не могу найти ничего, что говорит о кнопке, когда я проверяю элемент

Вот мой код на Python, я пытаюсь начать работу, но не уверен, как это сделать

 buttonclick = driver.find_elements_by_class_name('add-vehicle-container')
buttonclick.click()
time.sleep(1)
  

Ошибки, которые я получаю

 Traceback (most recent call last):
  File "C:/Users/ttttt/iCloudDrive/Documents/GitHub/SeniorProject2019TBA/Selenium/AboutYouTesting.py", line 50, in <module>
    buttonclick.click()
  File "C:UserstttttAppDataLocalProgramsPythonPython37-32libsite-packagesseleniumwebdriverremotewebelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
  File "C:UserstttttAppDataLocalProgramsPythonPython37-32libsite-packagesseleniumwebdriverremotewebelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "C:UserstttttAppDataLocalProgramsPythonPython37-32libsite-packagesseleniumwebdriverremotewebdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:UserstttttAppDataLocalProgramsPythonPython37-32libsite-packagesseleniumwebdriverremoteerrorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: Element <div class="add-vehicle-container"> could not be scrolled into view
  

Комментарии:

1. Что сделал этот код? Я подозреваю, что это выдало ошибку. Если я прав, пожалуйста, опубликуйте ошибку.

Ответ №1:

Запустите одну из этих команд в консоли разработчика.

 getEventListeners($("#SomeElement")[0]); //Javascript
$._data($("#SomeElement")[0], "events"); //JQuery
  

Они сообщат вам, действительно ли прикрепленные события являются событиями «щелчка» или каким-либо другим типом событий.

Если это действительно событие щелчка, вы можете попробовать это:

 driver.execute_script("$('.add-vehicle-container').click()");
  

Если это не сработает или события не являются событиями щелчка, то вы можете запустить это:

 driver.execute_script("$('.add-vehicle-container').trigger('ATTACHED_EVENT_NAME_HERE')");
  

Вы можете поиграть с ними, чтобы увидеть, работают ли они, просто запустив их в консоли разработчика браузера, прежде чем использовать их в своем скрипте Python.

Комментарии:

1. Как бы запустить эти последние две в браузере без этих команд Selenium