实例分析

2021-06-24 16:00 更新

selenium.webdriver ​模块提供了所有 ​WebDriver​的实现,现在支持的​WebDriver​的实现有 ​Firefox​,​Ie​,​Chrome​,​Remote​。Keys​类提供了键盘的代码(回车,​ALT​,​F1​等等)。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

然后我们创建一个​Firefox​的实例:

  driver = webdriver.Firefox()

driver.get​方法会导向给定的URL的页面,​WebDriver​会等待页面完全加载完(就是​onload​函数被触发了),才把程序的控制权交给你的测试或者脚本。 但是如果你的页面用了太多的AJAX,那么这个机制就没什么用了,因为它不知道页面到底是什么时候加载完。

  driver.get("http://www.python.org")

WebDriver​提供了一系统类似于​find_element_by_*​的方法来寻找页面元素,例如,我们利用​find_element_by_name​方法,通过元素的​name​属性来定位一个文本输入框元素。 更详细的寻找元素的方法可以参阅 selenium 元素定位:

  elem = driver.find_element_by_name("q")

接着我们发送了一些字符,类似于用键盘直接输入。特殊的键盘符我们可以导入​selenium.webdriver.common.keys​,然后用​Keys​类来表示:

elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)

提交页面之后我们应该确认一下是否有返回,为了确定有东西返回,我们在这里下一个断言:

  assert "No results found." not in driver.page_source

最后浏览器窗口被关闭了,你也可以调用​quit​方法来代替​close​,区别在于​quit​会退出整个浏览器,而​close​只会关闭一个标签,但是如果浏览器只有一个标签,那么这两个方法完全一样,都会关闭整个浏览器。

  driver.close()


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号