等到元素没有出现 - Selenium

时间:2015-06-24 12:46:53

标签: python selenium selenium-webdriver wait

我正在尝试点击按钮,然后等到页面加载完毕。问题是我无法弄清楚如何告诉驱动程序等待,因为它必须在页面加载后搜索一些元素。

我认为我应该使用这样的东西:

wait.until(EC.invisibility_of_element_located...

但不知道如何让它发挥作用。

这是一段HTML,在加载页面后可见。

<h1 class="special ng-binding">
   Rezervácia letu
   <strong class="js_log_fl_res ng-binding">Bratislava</strong> <span class="date js_log_fl_res ng-binding">14.07.2015</span> <strong class="js_log_fl_res ng-binding">Madrid</strong>
   <!-- ngIf: computed.second && computed.first.toCode === computed.second.fromCode --><span ng-if="computed.second &amp;&amp; computed.first.toCode === computed.second.fromCode" class="ng-scope">
   <span class="date js_log_fl_res ng-binding">23.07.2015</span>
   <strong class="js_log_fl_res ng-binding">Bratislava</strong>
   </span><!-- end ngIf: computed.second && computed.first.toCode === computed.second.fromCode -->
   <!-- ngIf: computed.second && computed.first.toCode !== computed.second.fromCode -->
</h1>

我想等到字符串'Rezervácialetu'没有出现在页面上。

你可以给我一个暗示吗?

1 个答案:

答案 0 :(得分:4)

invisibility_of_element_located()有两个参数。您可以按如下方式使用

WebDriverWait(driver, 10).until(
        EC.invisibility_of_element_located((By.CSS_SELECTOR, "h1.special.ng-binding"))

Here是一个如何使用它的示例。