元素定位(class|link|partial link)

接下来看看定位元素里面的其它方法,应该怎么去使用?先从class来举例,通过class定位元素。然后通过link定位元素。

class定位

先看看class的示例:

上面,可以看到id为su的input,有一个class属性,值为bg s_btn。找到class了,就可以通过WebDriver为我们提供的API来进行定位,这个定位方法的名字就是 find_element_by_class_name 如下IDE提示:

在前面测试用例中,通过ID来定位元素,如果通过class来识别,代码又是什么样的呢,如下:

如果,一个class里面有空格,这个时候WebDriver定位失败,可以先用ID、Name进行定位。

Link定位

打开百度,点击百度新闻,就可以跳转到百度新闻页面,那么,怎么通过WebDriver来定位新闻,并打开呢?还是类似前面的方法,先在FindBug中找到新闻对应的元素。

接着,用WebDriver提供的 find_element_by_link_text 定位并操作元素。

其中,find_element_by_link_text的参数就是我们看到的文本了。示例代码如下:

运行看一下,脚本自动点击了新闻,并跳转过去了。

Partial Link定位

这个是怎么定位的呢?WebDriver为我们提供了 find_element_by_partial_link_text ,这个方法和link定位方法有点儿类似了。这里,在link的基础稍作加工一下,原来使用“新闻”作为参数,这里只只用一个“新”,然后运行脚本,就可以通过得到同样的效果。示例如下:

相比于完全匹配的link定位,partial link只需要部分关键字就能够进行定位了。

IT赶路人

专注IT知识分享