Ваша проблема не в том, что она щелкает слишком быстро.Просто он щелкает до того, как этот элемент присутствует.Есть два способа обойти это:
- Подождите, пока элемент не появится, прежде чем нажимать
- Увеличьте время неявного ожидания
БоюсьЯ не использовал привязки WebDriver Python.Однако я могу рассказать вам, как это делается в Java, и, надеюсь, вы сами найдете эквивалент Python.
Чтобы дождаться элемента, у нас в Java есть класс WebDriverWait
.Вы должны написать Function
, который вы передадите методу until()
, который передается только тогда, когда элемент существует.Один из способов сделать это можно с помощью driver.findElements( By... )
или wrap driver.findElement( By... )
в обработчике исключений.Function
опрашивается до тех пор, пока не будет возвращено значение true или не истечет указанное время ожидания.
Второй метод является предпочтительным для вашего случая, а в Java вы можете выполнить driver.manage().timeouts().implicitlyWait( ... )
.