Selenium python如何等待元素创建

里卡德

在页面上,我具有表导出列表元素,该元素会在几秒钟到几分钟(待处理,正在处理和已完成)之后更改,或者进度条已100%完成。从:

<p id="2c92c0f953cfa2d80153e8409eggFeb9" class="ares_txt15">  Pending  </p> </td>

至:

<p id="22c92c0f953cfa2d80153e6404bcc12c2" class="ares_txt15">  Completed                                                          
<script type="text/javascript"> var newPro0 = new ProgressBar('100'-0).appendTo('2c92c08653cf9ce60153e6cde69d57da'); </script>
<div class="iblock" style="vertical-align: middle; padding-left: 5px;">
<div class="iblock" style="width: 80px; height: 8px; border: 1px solid rgb(153, 153, 153); padding: 1px; font-size: 0px; vertical-align: middle; line-height: 0px;">
<div class="iblock" style="width: 80px; height: 8px; background: rgb(115, 194, 56) none repeat scroll 0% 0%; vertical-align: middle; font-size: 0px; line-height: 0px;"/>
</div>
<span class="iblock" style="padding: 0px 5px; line-height: 11px; vertical-align: middle;">100%</span>
</div>
</p

这就是我所拥有的:

 >>> all_data = browser.find_elements_by_xpath("//*[@class='ares_txt15']")
    >>> for row in all_data:
        print(row.text)

    Pending
    Completed 100%
    Completed 100%
    Completed 100%
    Completed 100%
    Completed 100%

        try:
            WebDriverWait(browser, 80).until(EC.presence_of_element_located((By.XPATH, '//*[@class="ares_text15" and contains(text(), "Completed 100%")]')))
        except TimeoutException:
            raise Exception('Unable to find text in this element after waiting 80 seconds')



        Traceback (most recent call last):
          File "<pyshell#56>", line 4, in <module>
            raise Exception('Unable to find text in this element after waiting 80 seconds')
        Exception: Unable to find text in this element after waiting 80 seconds
盖伊

text()=="Completed"应该text()="Completed"与一个=

WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@class="ares_text15" and text()="Completed"]')))

您也可以尝试contains代替=

WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@class="ares_text15" and contains(text(), "Completed")]')))

您也可以尝试使用 text_to_be_present_in_element

WebDriverWait(self.driver, 10).until(EC.text_to_be_present_in_element((By.CLASS_NAME, 'ares_text15'), 'Completed'))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何等待页面在Python Selenium中加载

来自分类Dev

Selenium:如何等待DOM更改?

来自分类Dev

如何等待直到使用Selenium和Python定义了src属性

来自分类Dev

在继续前进之前,如何等待在Selenium和Python中下载文件

来自分类Dev

我如何等待该网站在Python中使用Selenium加载?

来自分类Dev

Selenium-Nunit如何等待几张图像

来自分类Dev

Selenium Python等待动画元素停止

来自分类Dev

Python Selenium等待几个元素加载

来自分类Dev

Python Selenium等待几个元素加载

来自分类Dev

Selenium:我如何对Selenium说要等待按钮元素?

来自分类Dev

Python和Selenium:如何等到文本出现才能继续?

来自分类Dev

Selenium IDE-如何等待选择中按名称填充的选项?

来自分类Dev

如何等待Ajax调用正在处理Selenium中的下拉列表

来自分类Dev

Selenium:在AJAX之后如何等待AngularJS完成对DOM的更新?

来自分类Dev

Python Selenium,如何删除元素?

来自分类Dev

Python Selenium:如何单击元素

来自分类Dev

等待元素使用Selenium加载

来自分类Dev

Selenium webdriver 等待元素并单击

来自分类Dev

如何等待元素显示

来自分类Dev

如何使用 selenium webdriver 和 python 等待并获取 web 元素的状态

来自分类Dev

如何等待文件创建

来自分类Dev

如何使用Selenium Webdriver等待元素不可单击?

来自分类Dev

如何使用Selenium Webdriver等待元素不可单击?

来自分类Dev

我如何使用Selenium的等待?

来自分类Dev

python selenium等待页面加载

来自分类Dev

Selenium + python:等待样式更改

来自分类Dev

等待链接加载[Selenium / python]

来自分类Dev

如何使用Selenium和Python识别元素

来自分类Dev

如何使用python(Selenium)Webscrap画布元素

Related 相关文章

热门标签

归档