为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用Selenium WebDriver和Python等待并获取Web元素的状态

如何使用Selenium WebDriver和Python等待并获取Web元素的状态

SMILET 2021-05-10 17:38:33
我想检查的状态<td>具有从状态变化元件"Running"来"Success"。状态更改可能需要大约1分钟或每隔几秒钟,我需要重试检查元素的状态。有人可以帮助我如何实现这一目标,以下是我正在尝试的html结构和代码段。跑步<tbody id="workflows"><tr id="row8ff2244a64f3e7180164ff637c574d24" class="selected"><td><span class="wf-status running" id="status8ff2244a64f3e7180164ff637c574d24">Running</span></td><td>Copy of Discovery v4madhu-test3-automate</td><td>03 Aug 16:14</td><td>autotest</td><td>dmatarget14.hpeswlab.net</td><td></td><td></td></tr></tbody>成功<tbody id="workflows"><tr id="row8ff2244a64f3e7180164ff637c574d24" class="selected"><td><span class="wf-status wfsuccess" id="status8ff2244a64f3e7180164ff637c574d24">Success</span></td><td>Copy of Discovery v4madhu-test3-automate</td><td>03 Aug 16:14</td><td>autotest</td><td>dmatarget14.hpeswlab.net</td><td></td><td></td></tr></tbody>样例代码timeout = 60maxtime = time.time() + timeoutresult = Nonewhile result is "SUCCESS":    try:        # connect        result = driver.find_element_by_xpath('//td[contains,"dmatarget14.hpeswlab.net"] and td[contains,"Success"]/ancestor::tr')        time.sleep(5)    except:        if time.time() > maxtime:            raise Exception
查看完整描述

3 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

要验证<td>元素的状态以将文本从“运行”更改为“成功”,您可以使用以下解决方案之一:

  • text_to_be_present_in_elementCSS_SELECTOR

    element = WebDriverWait(driver, 20).until(EC.text_to_be_present_in_element((By.CSS_SELECTOR, "tbody#workflows>tr.selected>td>span.wf-status.wfsuccess"), "Success"))
  • text_to_be_present_in_element_valueCSS_SELECTOR

    element = WebDriverWait(driver, 20).until(EC.text_to_be_present_in_element_value((By.CSS_SELECTOR, "tbody#workflows>tr.selected>td>span.wf-status.wfsuccess"), "Success"))



查看完整回答
反对 回复 2021-05-18
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

您可以尝试以下代码:

WebDriverWait(driver, 60).until(
    EC.presence_of_element_located((By.XPATH, '//td[contains,"dmatarget14.hpeswlab.net"] and td[contains,"Success"]/ancestor::tr'))



查看完整回答
反对 回复 2021-05-18
  • 3 回答
  • 0 关注
  • 244 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号