selenium常用总结

一.准备工作

pip install selenium       #安装操作
from selenium import webdriver            #引入相关模块
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()          #实例化
driver.get("http://www.baidu.com")   #发起get请求

此外我们还需下载 chromedriver.exe 将其放入本地python环境 例如:(C:UserscyxAppDataLocalProgramsPythonPython37-32)

二.常用的元素筛选方法

driver.find_element_by_id('test')            #根据Id进行筛选
driver.find_element_by_class_name('')     #根据class名称筛选
driver.find_element_by_name()                #根据元素的name
driver.find_element_by_xpath()                #根据元素的xpath进行筛选
driver.find_element_by_link_text(u'首页')    #根据<a>标签中的文本连接进行筛选

获取多个元素时只需将方法中的element改为elements

三.给选中的元素赋值

userNameInput=driver.find_element_by_xpath('//*[@id="loginBlock"]/div[1]/div/div/input')         #定位元素
userNameInput.send_keys('admin')                #进行赋值操作

四.关于页面的跳转问题

  1. url改变时,但在本页刷新时,需调用以下方法来进行,url的更换,不然在进行元素的定位时,还到之前的url去找元素。有时页面跳转后,需停留几秒,不然依然定位不到元素

  #driver.current_window_handle                 

  2.页面跳转,打开新窗体时

  #driver.switch_to.window(driver.window_handles[-1])     #定位到最新的窗体,可以对应的下标获取对应的元素

 五.悬浮元素,定位二级菜单的问题

定位元素
#ContractManage=driver.find_element_by_xpath('//*[@id="mp-sidemenu"]/ul/li[4]/a/span[2]')         
悬浮到该元素
#ActionChains(driver).move_to_element(ContractManage).perform()       
点击二级菜单
#ContractReg=driver.find_element_by_link_text(u'合同登记').click()       

 注意事项:有时从浏览器中copy的xpath,导致定位不到元素,可能是由于页面js的动态加载问题,需检查页面源代码,查找正确的xpath

原文地址:https://www.cnblogs.com/HTLucky/p/12525696.html