Selenium 的 Python 模块是为使用 Python 执行自动化测试而构建的。Selenium Python 绑定提供了一个简单的应用编程接口,可以使用Selenium网络驱动程序编写功能/验收测试。要使用Selenium Python 打开网页,请使用 get 方法-Selenium Python 签出

超文本标记语言

<input type="text" name="passwd" id="passwd-id" />

要找到一个元素,需要使用一种定位策略,例如

element = driver.find_element_by_id("passwd-id")
element = driver.find_element_by_name("passwd")
element = driver.find_element_by_xpath("//input[@id='passwd-id']")

同样,要找到多个元素,我们可以使用–

elements = driver.find_elements_by_name("passwd")

人们也可以通过它的文本来寻找链接,但是要小心!文本必须完全匹配!在 WebDriver 中使用 XPATH 时也应该小心。如果有多个元素与查询匹配,那么将只返回第一个。如果找不到任何内容,将引发 NoSuchElementException。 WebDriver 有一个“基于对象”的 API ,我们用同一个接口表示所有类型的元素。这意味着,尽管人们可能会看到许多可能的方法,当人们点击集成开发环境的自动完成组合键时可以调用这些方法,但并不是所有的方法都有意义或有效。要检查所有方法,请查看定位器策略–Selenium 获得元素后,接下来会发生什么?可能需要在字段中输入文本,例如

element.send_keys("some text")

可以使用“键”类来模拟按下箭头键:

element.send_keys(" and some", Keys.ARROW_DOWN)

另外请注意,可以在任何元素上调用 send_keys,这使得测试像 Gmail 上使用的键盘快捷键成为可能。 可以用清除方法 轻松清除文本字段或文本区域的内容

element.clear()

项目示例– 让我们尝试在极客博客 程序– 中自动搜索一些东西

Python 3

# import webdriver
from selenium import webdriver

# create webdriver object
driver = webdriver.Firefox()

# get geeksforgeeks.org
driver.get("https://www.geeksforgeeks.org/")

# get element
element = driver.find_element_by_id("gsc-i-id1")

# send keys
element.send_keys("Arrays")

输出-

python 与网页互动——Selenium_Selenium