• 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

  • 相关阅读:
    零碎知识点
    安卓内存泄漏8种可能
    检测内存泄漏
    kotlin协程
    webview
    安卓各布局优缺点
    splice方法
    angular服务使用
    CSS3的一些笔记
    let、var、const
  • 原文地址:https://www.cnblogs.com/HTLucky/p/12525696.html
Copyright © 2020-2023  润新知