我想檢查使用Selenium(Python如果有問題)在HTML頁面上的某些文本(如「獨角獸」)是否可見。檢查文本是否在HTML元素的頁面上可見
然而,對於不相關的原因的頁面具有以下結構(簡化):
<div>
<span style="display: none">A</span> <span style="display: none">unicorn</span>
</div>
在Lettuce Webdriver和Aloe Webdriver使用的檢查是:
driver.find_elements_by_xpath(
'//*[contains(normalize-space(.),"{content}")'.format(text))
,然後檢查is_displayed
返回的元件。但是,這將找到外部div
元素,並且其文本將包含搜索的字符串,即使該字符串實際上對用戶不可見。
如何檢查頁面上的某些文字是可見即使它跨越多個元素?
各自的錯誤:Aloe Webdriver bug,Lettuce Webdriver bug。
你可以使用美麗的可能...看到這個答案:http://stackoverflow.com/a/27115266/499581 –
這需要我重新實現一個CSS分析器,因爲實際的網頁可能會使用類而不是簡單的'顯示:無'。 – Koterpillar