检查类名是否存在,然后执行下一步。
例如driver.find_element_by_class_name("far fa-calendar-alt")
或者您可以只定义它的xpath。如果您需要了解如何查找xpath,请告诉我。
编辑:Xpath示例:
//div//i[@class="far fa-calendar-alt"]
如果我对您的理解正确,则需要在pseudo-element之前加上“ content”的值。在这种情况下,建议您尝试使用JS。在这里查看如何运行JS code via selenium。
return document.defaultView.getComputedStyle(document.querySelector('.far.fa-calendar-alt'), ':before')['content'];
获得值后,您可以进行简单的字符串比较。
这里有两件事。您的代码是超棒的字体库。日历图标假定使用类fa-calendar-alt
。
现在,如果您希望图标是日历,仅检查元素上是否存在类fa-calendar-alt
应该足以检查日历图标是否出现。
一旦出现此类,您可以假定将显示日历图标。现在,我们做出的另一个假设是,真棒字体库实际上已包含在html中,因为如果由于某种原因未包括该库,那么即使日历类是正确的,该图标仍然不会加载。因此,您可以检查CSS中是否确实存在给定的类。下面的线程可以帮助您同样的
How can you determine if a css class exists with Javascript?
我永远不会担心检查这一点,因为发生这种情况的机会总是很低。
我不鼓励检查类本身的内容值,因为您随后使它依赖于实现,所以不应该这样做。就像在Font Awesome 5.0中一样,它使用SVG代替字体来完成所有这些工作]