Как нажать кнопку, которая отображается как ярлык? - PullRequest
0 голосов
/ 29 марта 2019

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

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

Вот мой код на 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:\Users\ttttt\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
  File "C:\Users\ttttt\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "C:\Users\ttttt\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\ttttt\AppData\Local\Programs\Python\Python37-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 <div class="add-vehicle-container"> could not be scrolled into view

1 Ответ

1 голос
/ 29 марта 2019

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

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.

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