Selenium等待进度条Python?

     2023-02-21     254

关键词:

【中文标题】Selenium等待进度条Python?【英文标题】:Selenium wait for progress bar Python? 【发布时间】:2022-01-21 13:02:52 【问题描述】:

我仍然没有得到它,等待下一个代码的 selenium 进度条

<div data-v-a5395076="" class="progress">
<div data-v-a5395076="" role="progressbar" aria-valuenow="98.4" 
aria-valuemin="0" aria-valuemax="100" class="progress-bar progress-bar-striped active" 
style="width: 98.4%;">98.4%</div>

这就是我试图等到 100% 而且我无法获取文本或属性 我试图 get_attribute('aria-valuenow').text 但我认为不是这样。

while True:
            try:
                progress =  WebDriverWait(driver, 5).until(
                EC.presence_of_element_located((By.CSS_SELECTOR,".progress-bar.progress-bar-striped.active")))
                progressCondition =progress.get_attribute('aria-valuenow').text
                print(progressCondition)
                while True:
                    if progressCondition == '100':
                        break
                    else:
                        print(progress)
                        time.sleep(1)
                break
            except:
                print('Progress Not Found')
                time.sleep(1)
                timer += 1
                if timer > 30:
                    break
                else:
                    continue

怎么做?

【问题讨论】:

我不熟悉 *** 我不知道我需要接受答案我会这样做的 thx 反正 您不必这样做,但是 1) 这表明问题已解决 2) 这是对帮助您的人说“谢谢”的一种方式。这给你和帮助你的人都加分了。 我明白了,先生,谢谢您让我知道! :^) 【参考方案1】:

我想这会有所帮助:

    presence_of_element_located更改为visibility_of_element_located,因为presence_of_element_located在尚未完全呈现时返回Web元素,只是存在于页面上,但在visibility_of_element_located等待更成熟的元素状态时仍然不可见已经可见。 从progress.get_attribute('aria-valuenow').text 中删除.textget_attribute() 方法本身返回字符串值。而.text 从网络元素中提取文本。 因此,您的代码可能如下所示:
progress =  WebDriverWait(driver, 5).until(EC.visibility_of_element_located((By.CSS_SELECTOR,".progress-bar.progress-bar-striped.active")))
progressCondition =progress.get_attribute('aria-valuenow')
print(progressCondition)

【讨论】:

抱歉回复晚了!我只是等待它工作,它工作得很好!谢谢!祝你有美好的一天! 没关系。您不必自动接受答案。如果它起作用 - 接受答案,否则让回答者知道它是否不起作用,出现了什么错误等。【参考方案2】:

由于 innerText/innerHTML 最终会变成 100 而不是 presence_of_element_located() 你需要为 visibility_of_element_located() 诱导 WebDriverWait 并且你可以使用以下Locator Strategies:

使用 xpathinnerText

progress =  WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH,"//div[@role='progressbar' and text()='100%']")))

使用 xpatharia-valuenow 属性:

progress =  WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH,"//div[@role='progressbar' and @aria-valuenow='100%']")))

【讨论】:

显示进度条时如何暂停 Selenium 执行

】显示进度条时如何暂停Selenium执行【英文标题】:HowtopauseSeleniumexecutionwhenprogressbarisshown【发布时间】:2021-04-2710:11:54【问题描述】:我有一个想要自动化的AngularSPA应用程序。当显示此进度条时:<div_ngcontent-cln-c1=""class="ngx-loa... 查看详情

selenium元素等待及滚动条滚动

    selenium三大等待,sleep(强制)、implicitlyWait(隐式等待)、WebDriverWait(显式等待),主要记一下最后面的WebDriverWait。    WebDriverWait是三大等待中最常用也是最好用的一种等待方式,比起另外两种而言,B格更高、... 查看详情

在报告异步等待代码与进度条控件的进度时使用 IProgress

】在报告异步等待代码与进度条控件的进度时使用IProgress【英文标题】:UsingIProgresswhenreportingprogressforasyncawaitcodevsprogressbarcontrol【发布时间】:2021-10-0915:12:16【问题描述】:privatestaticasyncTaskFuncAsync(DataTabledt,DataRowdr)tryawaitTask.Delay... 查看详情

等待模态显示时进度条的最佳实践

】等待模态显示时进度条的最佳实践【英文标题】:Bestpracticeforaprogressbarwhilewaitingonamodaltodisplay【发布时间】:2018-06-2615:44:39【问题描述】:我有一个在线应用程序,其功能包括右键单击一个值并在一个小的浮动模式框中返回一... 查看详情

winform实现单击按钮后显示进度条或等待窗口

参考技术A以datagridview为例子:for(inti=0;i<datagridview.rows.count;i++)设置progressBar的最大值为datagridview.rows.count;设置progressBar.Value=i; 参考技术B做进度条或者等待窗口的时候是需要用多线程的 查看详情

python_selenium的等待操作

...然后报notfindelement错误,所以这时候就需要注意添加等待selenium的等待分为3种:1、固定等待2、智能等待3、显示等待1、固定等待:线程停止time.sleep(2)2、隐式等待(智能等待): 查看详情

progressbar(进度条)

...的应用场景很多,比如用户登录时,后台在发请求,以及等待服务器返回信息,这个时候会用到进度条;或者当在进行一些比较耗时的操作,需要等待一段较长的时间,这个时候如果没有提示,用户可能会以为程序Carsh或者手机... 查看详情

Python Selenium 等待 innerHTML

】PythonSelenium等待innerHTML【英文标题】:PythonSeleniumwaitforinnerHTML【发布时间】:2018-02-0423:58:41【问题描述】:我正在尝试等待innerHTML元素加载。这是我的代码的通用版本:element=WebDriverWait(driver,120).until(EC.presence_of_element_located((By.X... 查看详情

等待页面重定向 Selenium WebDriver (Python)

】等待页面重定向SeleniumWebDriver(Python)【英文标题】:WaitforpageredirectSeleniumWebDriver(Python)【发布时间】:2017-02-2112:07:00【问题描述】:我有一个页面,它使用ajax加载动态内容,然后在一定时间后重定向(不固定)。如何强制Selenium... 查看详情

等待使用 Python 在 Selenium/Firefox 中加载页面 [重复]

】等待使用Python在Selenium/Firefox中加载页面[重复]【英文标题】:WaitingforaPagetoLoadinSelenium/Firefoxw/Python[duplicate]【发布时间】:2016-09-2205:07:31【问题描述】:如何等待页面在Selenium中加载,然后才能获取其源代码?我正在尝试从页面... 查看详情

等待使用 Python 在 Selenium 中加载所有资源 [重复]

】等待使用Python在Selenium中加载所有资源[重复]【英文标题】:WaitingforalltheresourcestoloadinSeleniumwithPython[duplicate]【发布时间】:2017-09-2814:41:54【问题描述】:我正在使用Selenium和Python来获取网页请求的所有资源的urls(包括通常位于... 查看详情

Python selenium 无条件等待页面加载

】Pythonselenium无条件等待页面加载【英文标题】:Pythonseleniumwaitforpagetoloadwithoutacondition【发布时间】:2018-11-2617:51:59【问题描述】:我希望selenium在截屏之前等待。当我使用time.sleep(1)时,它给了我这个错误:Traceback(最近一次调... 查看详情

使用显式等待在 Python 中使用 Selenium 弹出“接受 Cookie”

】使用显式等待在Python中使用Selenium弹出“接受Cookie”【英文标题】:"AcceptCookies"popupwithSeleniuminPythonusingexplicitwait【发布时间】:2022-01-0918:03:16【问题描述】:我一直在尝试使用Python中的Selenium从网站上抓取一些信息。我... 查看详情

Selenium(Python):单击按钮后,等待所有新元素(可以具有不同的属性)被加载[重复]

】Selenium(Python):单击按钮后,等待所有新元素(可以具有不同的属性)被加载[重复]【英文标题】:Selenium(Python):Afterclickingbutton,waituntilallthenewelements(whichcanhavedifferentattributes)areloaded[duplicate]【发布时间】:2020-11-1106:34:25【问题... 查看详情

如何在使用 Selenium 和 Python 调用函数之前等待特定 URL 加载

】如何在使用Selenium和Python调用函数之前等待特定URL加载【英文标题】:HowtowaitforaspecificURLtoloadbeforecallingafunctionusingSeleniumandPython【发布时间】:2020-05-0102:48:36【问题描述】:这是我第一次在***上发帖,我对Selenium和Python还有些陌... 查看详情

如何在 Python 中使用 Selenium 设置动态显式等待?

】如何在Python中使用Selenium设置动态显式等待?【英文标题】:HowcanIsetadynamicexplicitwaitusingSeleniuminPython?【发布时间】:2021-11-1802:43:40【问题描述】:我几天前构建的一个程序在这里遇到了一点问题,所以我将非常简单地解释它:... 查看详情

Python 进度条未正确显示进度

】Python进度条未正确显示进度【英文标题】:Pythonprogressbarisnotshowingprogresscorrectly【发布时间】:2018-10-2716:28:02【问题描述】:我在Python中有一个进度条:importosdeffile_len(fname):withopen(fname)asf:fori,linenumerate(f):passreturni+1importprogressbarf... 查看详情

Selenium 等待用户点击 python 中的警告对话框

】Selenium等待用户点击python中的警告对话框【英文标题】:SeleniumWaitforusertoclickonalertdialogboxinpython【发布时间】:2019-10-1207:54:59【问题描述】:我在浏览器中创建了一个对话框(当用户输入详细信息发生错误时会发生这种情况)... 查看详情