上节,我们讲了web端自动化脚本编写,大致分哪几步,这里,我们展开来谈一下“元素定位”。
首先,我们知道了,webDriver元素定位有这8种,那么这8种,我们要怎么用,如何根据场景,优先选择适合的呢?
这里还是拿百度首页举例好了。
我们先打开百度首页
然后按F12
我们找到这个select 元素控件的功能按钮
然后选中你想定位的元素控件
点击控件
这里我们可以看到前端具体的代码,很多信息,我们都能清晰的看到了。
比如控件的id,name,class等
然后我们使用那几种定位方式定位它
#通过元素id定位()
driver.find_element_by_id('kw')
#通过元素name定位
driver.find_element_by_name('wd')
#通过类名进行定位
driver.find_element_by_class_name('s_ipt')
#通过标签定位
driver.find_element_by_tag_name('input')
#通过xpath表达式定位
driver.find_element_by_xpath('//*[@id="kw"]')
#通过css选择器进行定位
driver.find_element_by_css_selector('#kw')
元素定位中值得注意的就是,避免重复,这样程序无法清楚的知道,你到底定位哪一个。
比如,你定位input标签,但是网页上有多个input标签。这里就要根据具体情况,换其他更适合的定位方法了。
总之,具体情况,具体分析,能跑就行,不行就分析下为啥不行,慢慢调试。调试多了,就大概掌握规律了。