Работает нормально для меня. Обратите внимание, что он выделяет элемент (добавьте 2 пикселя красным border) только на 0.3 секунды, поэтому вы можете просто пропустить этот эффект
Вы можете добавить больше параметров для работы, например TimeToHighlight, Color, BorderSize:
def highlight(element, effect_time, color, border):
"""Highlights (blinks) a Selenium Webdriver element"""
driver = element._parent
def apply_style(s):
driver.execute_script("arguments[0].setAttribute('style', arguments[1]);",
element, s)
original_style = element.get_attribute('style')
apply_style("border: {0}px solid {1};".format(border, color))
time.sleep(effect_time)
apply_style(original_style)
, а затем позвоните как
open_window_elem = driver.find_element_by_id("openwindow")
highlight(open_window_elem, 3, "blue", 5)
Это добавит синий 5 пикселей границу к элементу на 3 секунд