Некоторое время из-за проблем с разработкой или другого неизвестного вопроса WebElement::click()
не работает должным образом.
Таким образом, в этом случае селен также обеспечил выполнение определенных действий без использования кода JavaScript
, чтобы избавиться от проблемы.
Для этого существует метод имени execute_script()
, где вы можете напрямую вызвать код JavaScript на текущий фрейм окна/iframe для решения ваших задач. В этом методе первый ввод параметров - это часть кода JavaScript, а второй параметр - массив объекта, который может использоваться в JavaScript-коде как переменная JavaScript. В коде JavaScript этот массив ввода объекта принимает значение arguments
.
Таким образом, вы можете выполнить нажмите ниже: -
driver.execute_script("arguments[0].click()", driver.find_element_by_id('privacyCheck1'))
Примечание: - Инъекция JavaScript HTMLElement.click()
не должен использоваться в контексте тестирования. Это поражает цель теста. Во-первых, потому что он не генерирует все события, такие как реальный click (focus, blur, mousedown, mouseup...)
, и второй, потому что он не гарантирует, что реальный пользователь может взаимодействовать с элементом. Но чтобы избавиться от проблемы, вы можете использовать ее в качестве альтернативного решения.
что вы имеете в виду не работает ?? нужно разделить, если есть какое-либо исключение, а также –
и попробуйте один раз как «driver.find_element_by_css_selector» («label [for = 'privacyCheck1»] »). click()' и дайте мне знать .. –
@SaurabhGaur Что я имею в виду. .. не может обнаружить флажок ... что значит не сработало. – everline