Я автоматизирую веб-сайт с помощью Selenium, но click()
не работает. Он возвращает элемент, который нельзя прокрутить до просмотра.
Я использовал Javascript Executor для вызова click()
, код написан для поиска элемента на странице, по которой щелкнули после щелчка (). Однако Selenium пытается найти элемент до того, как щелкнет по веб-сайту.
Я проверил веб-сайт во время работы скрипта, он пытается найти элемент, а затем щелкает по странице, на которой он находится. Как это исправить?
(код ниже)
Я попытался подождать, пока элемент будет доступен для щелчка, используя WebDriver. Однако время ожидания истекает каждый раз, так что у меня нет идей. Любая помощь приветствуется.
Find_Section = Driver.find_element_by_xpath('//div[contains(text()="Text"]')
Driver.execute_script("arguments[0].click();", Find_Section)
Tester = Driver.find_element_by_partial_link_text('Test19')
Tester.click()
Изменить:
Я считаю, что понял, в чем проблема, согласно WebDriver click () vs JavaScript click () click () ведет себя как настоящий пользователь, а execute_script - нет, а просто вызывает событие, поэтому я считаю, что происходит, это execute_script нажимает на событие, но не делает то же самое, что и click (), поэтому он не загружает страницу правильно.
Причина, по которой я использую execute_script, заключается в том, что метод click () не может каждый раз прокручивать элемент в поле зрения.
Я могу ошибаться относительно причины, по которой я так думаю не работает если да поправьте меня