铌扩展了python selenium客户机,具有很好的特性

niobium的Python项目详细描述


铌扩展了python selenium客户机,具有很好的特性。

为什么铌

selenium可能是web自动化的更好工具。但有时很难写出一个干净的自动化脚本。

使用铌,您可以继续使用硒并简化脚本。例如,铌添加了一个新的元素定位器find_element_by_image,它增加了图像识别能力,以便在网页中找到元素。

铌的目的不是取代硒。我们只想在selenium中添加我们希望在selenium中看到的功能。

铌的哲学是尽可能简单。

安装

铌在pypi上可用,所以只需使用pip。

pip install niobium

开始

为了使用铌,您只需要在脚本中导入它。硒将自动扩展。

# -*- coding: utf-8 -*-
from selenium import webdriver
import niobium

driver = webdriver.Firefox()
driver.implicitly_wait(10)
driver.get("https://www.python.org/")

driver.find_element_by_image("logo_python.png")

driver.quit()

为了避免警告你的皮棉,你可以从铌进口硒。

# -*- coding: utf-8 -*-
from niobium import selenium

driver = selenium.webdriver.Firefox()
...

或者简单地禁用警告,如本例中的flake8

# -*- coding: utf-8 -*-
from selenium import webdriver
import niobium  # noqa: F401

driver = webdriver.Firefox()
...

如果您使用pytest,特别是pytest selenium,只需在conftest.py中导入铌。

文档

https://niobium.readthedocs.io/

警告

铌中实现的一些功能仅在没有其他简单解决方案时提供帮助。如果错误地使用了铌特性,可能会导致脚本性能下降,或者很难维护它。请阅读文档以了解使用这些功能时的特殊警告。

铌不会修改硒库包。修补程序仅在运行时应用。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
部署在kubernetes上时,微服务中服务间通信中的java连接超时问题   java Nway合并对2G字符串文件进行排序   java如何使用FlexJson按特定顺序序列化对象和属性   如何在java布尔方法中导入文本文件   swing需要帮助在我的Java GUI中实现用户输入的侦听器   java如何读取枚举中Spring Messagesource的内容?   每个Ajaxcall上(之前和之后)的java Javascript   java compareTo(Comparable)方法对于Comparable类型未定义   带换行符的java Bash输入重定向   使用Spring授权标记检查用户是否登录时发生java错误?   使用大尺寸(100000)数组执行快速排序时出现Java StackOverflower错误   java forEach迭代器标记   Java ClassNotFound异常,Maven依赖项作为JAR   java将HQL转换为SQL查询   java正在将片段列表发送到FragmentPagerAdapter   java onActivityResult应该调用super。onActivityResult   java如果我导入一个超类,我也需要导入它的子类吗?   java是否可以通过openid协议对aadhar进行身份验证