zoukankan      html  css  js  c++  java
  • 学习进度13

    Selenium与chromediver的使用学习

    demo1:

    # webdriver.Chrome使用
    # 获取driver.page_source
    import time
    from selenium import webdriver
    
    # 驱动路径
    driver_path = r"E:pythonfilechromedriverchromedriver.exe"
    
    # 创建驱动
    driver = webdriver.Chrome(executable_path=driver_path)
    
    driver.get('https://www.baidu.com/')
    
    # 打印网页源代码
    print(driver.page_source)
    
    time.sleep(5)
    
    # 关闭当前页面
    driver.close()
    
    # 关闭整个网页
    driver.quit()

    demo2:

     1 # 定位元素
     2 
     3 from selenium import webdriver
     4 from selenium.webdriver.common.by import By
     5 
     6 # 驱动路径
     7 driver_path = r"E:pythonfilechromedriverchromedriver.exe"
     8 
     9 # 创建驱动
    10 driver = webdriver.Chrome(executable_path=driver_path)
    11 
    12 driver.get('https://www.baidu.com/')
    13 
    14 # 通过id获取
    15 # inputTag = driver.find_element_by_id('kw')
    16 inputTag = driver.find_element(By.ID, 'kw')   # 其他的原理一样
    17 
    18 # 通过name获取
    19 # inputTag = driver.find_element_by_name('wd')
    20 
    21 # 通过class属性获取
    22 # inputTag = driver.find_element_by_class_name('s_ipt')
    23 
    24 # xpath语法获取
    25 # inputTag = driver.find_element_by_xpath("//input[@id='kw']")
    26 
    27 # CSS选择器
    28 # inputTag = driver.find_element_by_css_selector('.quickdelete-wrap > input')
    29 
    30 # 框框里输入java
    31 inputTag.send_keys('java')

    demo3:

     1 # 操作表单元素
     2 
     3 from selenium import webdriver
     4 import time
     5 
     6 # 驱动路径
     7 driver_path = r"E:pythonfilechromedriverchromedriver.exe"
     8 # 创建驱动
     9 driver = webdriver.Chrome(executable_path=driver_path)
    10 driver.get('https://www.baidu.com/')
    11 
    12 # 1.操作输入框
    13 # inputTag = driver.find_element_by_id('kw')
    14 # 输入
    15 # inputTag.send_keys('java')
    16 # time.sleep(5)
    17 # 清除
    18 # inputTag.clear()
    19 
    20 # 2.check的话 同样获取
    21 # click()就点亮 在click就灭了
    22 
    23 # 3.Select的话 比较复杂
    24 # selectBtn =Select(driver.find_element_by_id('kw'))
    25 # selectBtn.select_by_index(1)
    26 # selectBin.select_by_values(url)
    27 # selectBin.select_by_visible_text("名称")
    28 # 取消选中
    29 # selectTag.deselect_all()
    30 
    31 # 4.按钮的点击事件
    32 inputTag = driver.find_element_by_id('kw')
    33 inputTag.send_keys('java')
    34 submitTag = driver.find_element_by_id('su')
    35 submitTag.click()

    demo4:

    # 网页中input在 ifame如何操作
    
    from selenium import webdriver
    
    # 驱动路径
    driver_path = r"E:pythonfilechromedriverchromedriver.exe"
    
    # 创建驱动
    driver = webdriver.Chrome(executable_path=driver_path)
    driver.get("https://www.douban.com/")
    
    # 找到iframe 因为我用的这个iframe是没有id和name的 因此需先xpath获取然后操作
    iframe = driver.find_element_by_xpath("//div[@class='login']//iframe")
    
    # 如果iframe 有id的话可直接替换
    # driver.switch_to.frame('id属性值')
    driver.switch_to.frame(iframe)
    rememberBtn = driver.find_element_by_name('phone')
    rememberBtn.send_keys('555')
    # 释放回到当前主页面
    driver.switch_to_default.content()
  • 相关阅读:
    js内置数据类型
    vue禁止复制的方式
    阻止element组件中的<el-input/>的粘贴功能
    Vue插件集合
    qs.parse()、qs.stringify()、JSON.stringify() 用法及区别
    es6数组的一些函数方法使用
    文章段落首字母缩进两个字符
    深圳scala-meetup-20180902(3)- Using heterogeneous Monads in for-comprehension with Monad Transformer
    深圳scala-meetup-20180902(2)- Future vs Task and ReaderMonad依赖注入
    深圳scala-meetup-20180902(1)- Monadic 编程风格
  • 原文地址:https://www.cnblogs.com/gonT-iL-evoL-I/p/12318097.html
Copyright © 2011-2022 走看看