• Selenium 模块


    什么是Selenium模块

    -基于浏览器自动化的一个模块

    selenium使用流程:

    pip install selenium
    
    
    -下载一个浏览器的驱动程序
    http://chromedriver.storage.googleapis.com/index.html
    

    如何简单selenium使用:

    from  selenium import webdriver
    from  lxml import etree
    #实例化一个浏览器对象
    # executable_path 驱动程序的目录
    web_requests=webdriver.Chrome(executable_path='./chormedriver')
    #get请求() 让浏览器发起一个指定url对应的请求
    web_requests.get()
    #获取浏览器的页面源码数据
    page_text=web_requests.page_source
    
    #解析
    tree=etree.HTML(page_text)
    #xpath定位
    tree.xpath()
    #结束关闭浏览器
    web_requests.quit()
    
    

    selenium的操作代码必须先实例化

    #实例化
    web_requests=webdriver.Chrome(executable_path='./chormedriver')
    
    • 请求
      web_requests.get()
    • 查找
      web_requests.fing()
    • 标签JiaoHuan
      web_requests.send_key()
    • 执行js程序
      web_requests.excute_script()
    • 前进
      web_requests.back()
    • 后退
      web_requests.forward()
    • 关闭浏览器
      web_requests.quit()

    其他的selenium操作使用例子

    from selenium import webdriver
    #实例化一个浏览器对象,获取淘宝网址
    web_requests=webdriver.Chrome(executable_path='./chormedriver')
    web_requests.get('https:www.taobao.com/')
    
    #selenium 标签定位.find方法太多了,可以 . 出来慢慢试吧
    #例子如下
    #标签定位 input输入框 查找id q
    id_input=web_requests.find_element_by_id('q')
    #输入框输入华为手机
    id_input.send_keys('华为手机')
    # #标签定位 input输入框 查找xpath定位 q
    # xpath_inout=web_requests.find_element_by_xpath('//*[@id="q"]')
    ##输入框输入华为手机
    # xpath_inout.send_keys('华为手机')
    
    
    #执行js代码
    #例子如下 移动滚轮向下移动一屏的高度
    web_requests.execute_script('window.scrollTo(0,document.body.scrollHeight')
    
    #点击搜索按钮
    btn=web_requests.find_elements_by_css_selector(".btn-search tb-bg")
    btn.click()
    
    #回退页面例子
    web_requests.get('https://www.baidu.com')
    #回退页面
    web_requests.back()
    
    #前进页面例子
    web_requests.get('https://www.baidu.com')
    #前进页面
    web_requests.forward()
    
  • 相关阅读:
    GYM 101128 J.Saint John Festival(求凸包是否包含点)
    GYM 101128 F.Landscaping(网络流)
    ACM ICPC 2017 Warmup Contest 2 I. Integral Polygons(计算几何+动态规划)
    ACM ICPC 2017 Warmup Contest 1 A. Artwork(逆向+dfs+并查集)
    51nod 1225 余数之和(数论)
    51nod 1397 最大二分图(图论+思维)
    51nod 1444 破坏道路(任意两点最短路径)
    网络流24题——孤岛营救问题(状压+分层图)
    ACM 竞赛高校联盟 练习赛 第六场 光头强的强迫症(线段树)
    bzoj1577 [USACO09FEB] Fair Shuttle
  • 原文地址:https://www.cnblogs.com/SkyRabbit/p/13704164.html
Copyright © 2020-2023  润新知