我需要我的代码等到按钮改变颜色。
我使用了下面的代码,但它有时会失败,因为该项目不再可访问(由于回发)。
概述我正在尝试做的事情:
当我单击网站上的保存按钮时,在一段未知的时间内一切都变成灰色,然后使用 asp.net 回发。使用硒,我试图等到按钮不再是灰色并且回发已完成。判断回发是否完成的唯一方法是颜色是否不再是灰色。
代码:
def element_colour_check (self, locator, expected_color):
# loop to retry if element is still loading
for f in range(0,10)
try:
element = self.driver.find_element_by_id(locator)
hex_color = Color.from_string(element.value_of_css_property("background-color")).hex
#check to see if element is correct colour
if (hex_color == expected_color) == True:
return True
else:
sleep(1)
continue
except Exception as e:
sleep(1)
continue
raise self.insert_error("Element did not change colour")
调用函数:
element_color_loading_check("save_btn", "#17a2b8")
HTML:
<input type="submit" name="save_btn" id=" save_btn " class="btn btn-info col-sm-12" value="Home">
请注意,当按钮为灰色时,类名不会改变
largeQ
相关分类