元素定位
元素的定位是自动化测试的核心,想要操作一个元素,首先应该识别这个元素。webdriver提供了一系列的元素定位方法,常用的有以下几种:
- id
- name
- class name
- link text
- partial link text
- tag name
- xpath
- css selector
id 与name定位
案例:打开百度首页,在搜索框自动输入“Selenium 我要自学网”关键词,然后点击搜索按钮,查看搜索页面。
注意:我们可以通过F12的方式,查看输入框的id和name,以及搜索按钮的name,如下图所示:
最后代码如下:
遇到的问题
问题1:
在代码执行过程中,遇到了如下错误:"selenium. common. exception.InvalidArgumentException: Message: Expected [object Undefined] undefined to be a string“
百度了下,网上说可能是webdriver和Firefox浏览器的版本不兼容。我的selenium是3.5.0, 浏览器驱动是:geckodriver(不清楚什么版本), Firefox版本是:53.0.3(64位)。我更新了geckodriver的版本到v0.18.0(64位)后,解决了这个问题。
问题2:
在代码执行过程中,遇到了如下错误:"selenium.common.exceptions.WebDriverException: Message: quit“
我的selenium是3.5.0, 浏览器驱动是:geckodriver版本是:v0.18.0(64位), Firefox版本是:53.0.3(64位)。更新了Firefox的版本到54.0(64位)后解决了这个问题。