ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

selenium模块

2019-10-03 22:00:33  阅读:834  来源: 互联网

标签:webdriver 浏览器 chrome selenium bro 模块 options


- 便捷获取网站中动态加载的数据

- 便捷实现模拟登录

什么是selenium?

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

使用:

  pip3 install selenium

  下载浏览器驱动程序 http://chromedriver.storage.googleapis.com/index.html (基于谷歌,对应版本)

  - 实例化浏览器对象

  

 

 

 

 

 

  - page_text = bro.page_source#页面源码数据

  - bro.quit() #浏览器关闭

  - bro.find系列....

  - xxx = bro.find...

     xxx.send_keys('xxxxx')

    xxx.click()

  - bro.execute_script('window.scrollTo(0,5000)') #滚轮滚动   document.body.scrollHeight #滚动一屏  #执行js代码

  - bro.back()回退

  - bro.forward()前进 


selenium处理iframe

  如果定位的标签处于iframe标签中则必须通过如下操作:

    - bro.switch_to.frame('被定为的iframe标签id')

  拖拽动作: 通过动作链

    - from selenium.webdriver import ActionChains

     action = ActionChains(bro)

     action.click_and_hold(''brofind的标签 '')

      for i in range(5):

        action.move_by_offset(像素(数字,水平),像素(数字,竖直放心)).perform() #perform表示立即执行

    action.release() #释放动作链


无可视化界面(无头浏览器)

  from selenium.webdriver.chrome.options import Options

  chrome_options = Options()

  chrome_options.add_argument('--headless')

  chrome_options.add_argument('--disable-gpu')

  browser = webdriver.Chrome(executable_path=path, chrome_options=chrome_options)

 


    规避selenium被检测到风险

  

  1. from selenium.webdriver import ChromeOptions
  2. option = ChromeOptions()
  3. option.add_experimental_option('excludeSwitches', ['enable-automation'])
  4. browser=webdriver.Chrome(executable_path=path,options=option)

 

标签:webdriver,浏览器,chrome,selenium,bro,模块,options
来源: https://www.cnblogs.com/Jnhnsnow/p/11620910.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有