当前位置: 首页 > 面试题库 >

Java在Python中的FluentWait

苏麒
2023-03-14
问题内容

在java selenium-
webdriver软件包中,有一个FluentWait类:

每个FluentWait实例都定义了等待条件的最长时间,以及检查条件的频率。此外,用户可以配置等待以在等待时忽略特定类型的异常,例如在页面上搜索元素时的NoSuchElementExceptions。

换句话说,它不仅仅是隐式和显式wait,它还使您可以更好地控制元素的等待。它可能非常方便,并且肯定有用例。

python selenium软件包中是否有类似的东西,还是我应该自己实现?

(我已经浏览了Waits的文档-那里什么也没有)。


问题答案:

我相信您可以使用Python做到这一点,但是它并不像FluentWait类那样简单地打包。您提供的文档中没有涉及到其中的一些内容。

WebDriverWait类具有用于超时,poll_frequency和ignore_exceptions的可选参数。因此,您可以在那里提供。然后将其与“预期条件”结合使用,以等待元素出现,可点击等。这是一个示例:

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

driver = webdriver.Firefox()
# Load some webpage
wait = WebDriverWait(driver, 10, poll_frequency=1, ignored_exceptions=[ElementNotVisibleException, ElementNotSelectableException])
element = wait.until(EC.element_to_be_clickable((By.XPATH, "//div")))

显然,您可以将wait / element合并为一个语句,但是我发现以这种方式可以看到在哪里实现。



 类似资料:
  • 问题内容: 我有一个使用100%Java编写的大型现有代码库,但是我想在它的一些新部分中使用Python。我需要进行一些文本和语言处理,而我宁愿使用Python和类似NLTK的库来执行此操作。 我知道Jython项目,但这似乎代表了一种从Python内部使用Java及其库的方法,而不是相反的方式-我对此是否错? 如果没有,那么在Java和Python之间进行交互的最佳方法是什么,这样(理想情况下)

  • 问题内容: 我想知道是否可以使用jython从Java代码调用python函数,还是仅用于从python调用Java代码? 问题答案: Jython:适用于Java平台的 你可以使用Jython从Java代码轻松调用python函数。只要你的python代码本身在jython下运行,即不使用某些不受支持的c扩展名。 如果这对你有用,那肯定是你可以获得的最简单的解决方案。否则,你可以使用新的Java

  • 我有一个安装了python和java的docker映像,现在我想将这两个进程作为docker的子进程运行。 我查看了这篇文章,它解释了如何在安装了docker和python的情况下准备图像。它并没有解释如何让它们都运行。如何使用python和Java运行Docker? 我检查了如何在dockerhttps://runnable.com/docker/rails/run-multiple-proce

  • 问题内容: 基于Java的Mahout的 目标是建立可扩展的机器学习库。Python中是否有任何等效的库? 问题答案: 强烈推荐scikits学习http://scikit-learn.sourceforge.net/

  • 我正在尝试将ANTLR3语法转换为ANTLR4语法,以便在ANTLR4-python2-runtime中使用它。该语法是一个C/C模糊解析器。 转换后(基本上删除树运算符和语义/语法谓词),我使用以下方式生成Python2文件: 并且代码生成时没有任何错误,所以我将其导入我的python项目(我使用PyCharm)进行一些测试: 我的假设是正确的还是在转换语法时犯了一些错误?我们可以做些什么来让解

  • 问题内容: 我的问题是,我无法在Java中正确解密。尽管使用了正确的密钥和IV,解密后我仍然得到垃圾字符。我在Java中没有任何编译/运行时错误或异常,因此我相信我使用正确的参数进行解密。 Python加密代码- Java解密代码- 有什么明显的我想念的东西吗? 问题答案: 的操作的密码反馈(CFB)模式是模式家族。它由段大小(或寄存器大小)参数化。PyCrypto的默认段大小为8位,而Java(