Карта Изображения Нажатие на Селен

1

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

Я пробовал все, чтобы вычислить правильную позицию и щелкнуть, но щелчок находится за пределами позиции, и тест завершился неудачно.

Может ли кто-нибудь указать мне, как регистрировать текущую позицию мыши или как отображать мышь во время теста?

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

Ниже приведен фрагмент кода:

        el=driver.find_elements_by_xpath("/html/body/form/table/tbody/tr/td/img")[0]
        #el=driver.find_elements_by_xpath("//html/body/map/area[2]")[0]
        width=el.size["width"]
        height=el.size["height"]        

        action = webdriver.common.action_chains.ActionChains(driver)
        action.move_to_element(el)
        print driver.get_window_position()
        action.move_by_offset(193, 310)
        print driver.get_window_position()
        action.click()
        action.perform()

Спасибо,

Теги:
selenium
geckodriver

2 ответа

1

Как ссылка. Я решил найти решение.

# Wait for the map to show up and navigate to account page
try:
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "Map")))
except Exception, e:
    print "Image with token toot long to load..."
    raise AssertionError()

href = driver.find_element_by_xpath("//html/body/map/area[2]").get_attribute("href")
driver.get(href)

Я мог видеть, что щелчок просто выстрелил бы в HREF, поэтому вместо того, чтобы взмахивать, чтобы найти, где именно щелкнуть, я помещаю href в var, а затем я нахожусь на этом href.

Скрипт работает красиво и даже лучше не зависит от разрешения экрана.

0

Вы пытались щелкнуть по javascript?

driver.execute_script("arguments[0].click();", element)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню