【问题标题】:Sometimes the element is not found [duplicate]有时找不到元素[重复]
【发布时间】:2020-04-19 08:31:14
【问题描述】:

单击按钮后我有一个无序列表,我想获取uls 与paginated 类的数量。

 <ul class="paginated">  </ul>

这是我的代码:

 element = driver.find_elements_by_class_name('paginated')
 print(len(element))

有时我得到 0,但有一个 ulclass = paginated。我使用了time.sleep(1),它运行良好。但我想让它更有活力。 有人可以用WebDriverWait 行代码来代替time.sleep 吗?

【问题讨论】:

标签: python python-2.7 selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

诱导WebDriverWait() 和element_to_be_clickable()

WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'ul.paginated'))).click()

导入以下库。

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

编辑

print(len(WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, 'ul.paginated')))))

【讨论】:

  • 不可点击。我需要等到页面上找到该元素
  • WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, 'ul.paginated'))) 我现在正在检查此代码行
  • @PaulVio :检查编辑的答案。如果有帮助。
猜你喜欢
  • 2020-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多