我有一个 div 块,您可以单击它们以手风琴风格显示内容。
我正在用 selenium 运行这个块以将它们全部打开,然后最终捕获屏幕截图。但是,我不确定如何最好地检查手风琴项目是否已显示,然后再继续下一个项目。
目前我的测试通过但最终的屏幕截图显示一些项目仍然关闭。我的代码:
detailsAccordion = self.ff.find_elements_by_class_name('accordion')
index = 1
for option in detailsAccordion:
try:
WebDriverWait(self.ff, 10).until(lambda driver : driver.find_element_by_xpath("//div[@class='accordionContainer']/div["+
str(index) +"]/h3[1]")).click()
# Need a WebDriverWait here for style='display: block;' on the current div
except:
print "Can't access div #" + unicode(index)
index = index + 1
如果我添加一行;
WebDriverWait(self.ff, 10).until(lambda driver : driver.find_element("//div[@class='accordionContainer']/div["+
str(index) +"][@style='display: block;']"))
我得到了我的异常打印,那么是否可以在每个 div 的显示属性上添加一个要求?