Gen*_*gar 4 python selenium webdriver
我正在使用pylen单元测试库(unittest)和selenium webdriver.我试图通过它的名字找到一个元素.大约一半的时间,测试抛出NoSuchElementException,另一次不抛出异常.
我想知道它是否与selenium webdriver没有等待足够长的页面加载.
Teh*_*ris 10
driver = webdriver.WhatEverBrowser()
driver.implicitly_wait(60) # This line will cause it to search for 60 seconds
Run Code Online (Sandbox Code Playgroud)
它只需要在你的代码中插入一次(我通常在创建webdriver对象后立即执行)
例如,如果您的页面出于某种原因需要30秒才能加载(购买新服务器),并且该元素是页面上显示的最后一个内容之一,它几乎就是不断检查一遍又一遍,如果元素在那里持续60秒,然后如果它没有找到它,它会抛出异常.
还要确保你的范围是正确的,即:如果你专注于一个框架,并且你正在寻找的元素不在那个框架中,它将找不到它.
我也看到了.我所做的只是等待......
你可以尝试:
while True:
try:
x = driver.find_by_name('some_name')
break
except NoSuchElementException:
time.sleep(1)
# possibly use driver.get() again if needed
Run Code Online (Sandbox Code Playgroud)
此外,尝试使用更新您的selenium到最新版本 pip install --update selenium
归档时间: |
|
查看次数: |
8637 次 |
最近记录: |