1.selenium安装
通过命令 pip install selenium 自动安装selenium
2.webdriver下载
从selenium的官方文档网站下载对应浏览器的webdriver
将webdriver.exe放到对应的浏览器安装目录下,并在环境变量中添加到path中
3.定位元素中的几个注意点
1)注意看清楚是 find_element 还是 find_elements 后者得到的是一个list
所以推荐 find_element(By.XPATH, 'xpath') 这么写,相比find_element_by_xpath('xpath') 更清晰一点
2)有的元素在框架内,需要先移动到框架内,才能找到元素
driver.switch_to.frame(
driver.find_elements_by_xpath('//iframe[@name="wangpan"]')[0]
)
同理,移动到框架内后,有时候还需要再移出来
driver.switch_to.default_content()
或者是移动到父级框架
3)有的元素需要前置条件才能显示出来,比如要把鼠标移上去才能显示出来,这时候需要引入ActionChains类,来模拟一系列操作
from selenium.webdriver.common.action_chains import ActionChains
然后再实例化一个action
action = ActionChains(driver)
通过action去调用各个模拟操作的方法,有一点需要注意的是,最后一定要调用.perform(),否则action只会把这些操作存储在操作队列中而不会执行
action.perform()会执行所有存储的操作队列
4)通过expected_conditions来判定元素的一些信息,从而达到判定测试是否成功,或者是判定元素是否出现或消失,从而再进行下一步
5)在各个步骤之间,有时需要加入wait,来确保元素加载完成了
有显性wait和隐性wait,这个参见官方文档