Я использую Selenium 2.40.2 для тестирования веб-приложения. Мне нужно движение мыши и нажмите, чтобы нарисовать многоугольник на карте google.
Код ниже:
bottom_label = browser_drive.find_element_by_xpath("//span[text()='Project']")
time.sleep(2)
drawing = ActionChains(browser_drive)\
.move_to_element(bottom_label)\
.move_by_offset(-650, -600)\
.click()\
.move_by_offset(100, -100)\
.click()\
.move_by_offset(300, 0)\
.click()\
.move_by_offset(0, 400)\
.click()\
.move_by_offset(-50, -50)\
.double_click()\
.perform()
drawing.perform()
time.sleep(2)
Нижний знак, используемый для указания мыши в конце веб-страницы, затем спящий, чтобы снова начать изменение смещения, щелкните и закройте многоугольник.
Этот код с версией Selenium не работает. Что нужно сделать, чтобы нарисовать многоугольник через перемещение и щелкнуть мышью?
Проблема заключалась в новой версии Selenium и Firefox.
Я перешел на драйвер Chrome, и функция щелчка работает нормально.
Подумайте об использовании FluentWait, ImplicityWait и setScriptsTimeout вместо сна.
См. Дополнительную документацию
http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebDriver.Timeouts.html