• selenium_Chrom参数配置


    1.常用参数:

    # options.add_argument('--headless')                     # 开启无界面模式
    # options.add_argument("--disable-gpu")                  # 禁用gpu  谷歌文档提到需要加上这个属性来规避bug
    # options.add_argument('--user-agent=Mozilla/5.0 HAHA')  # 配置对象添加替换User-Agent的命令
    # options.add_argument('--window-size=1366,768')         # 设置浏览器分辨率(窗口大小)
    # options.add_argument('--start-maximized')              # 最大化运行(全屏窗口),不设置,取元素会报错
    # options.add_argument('--disable-infobars')             # 禁用浏览器正在被自动化程序控制的提示
    # options.add_argument('--incognito')                    # 隐身模式(无痕模式)
    # options.add_argument('--disable-javascript')           # 禁用javascript
    # options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度
    # options.add_argument('window-size=1920x3000') # 指定浏览器分辨率
    # options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面
    # options.add_argument('--no-sandbox') # 以最高权限运行
    # option.add_extension('d:crxAdBlock_v2.17.crx') #添加crx插件
    # options.add_experimental_option('excludeSwitches', ['enable-automation']) # 设置开发者模式启动,该模式下webdriver属性为正常值
    # options.binary_location = r"C:Program Files (x86)GoogleChromeApplicationchrome.exe" # 手动指定使用的浏览器位置

    2.完整参数链接

    https://peter.sh/experiments/chromium-command-line-switches/

    3.打开百度搜索代码示例

    from selenium import webdriver
    
    
    options = webdriver.ChromeOptions()                  # 创建一个配置对象
    
    # options.add_argument('--headless')                 # 开启无界面模式
    # options.add_argument("--disable-gpu")              # 禁用gpu
    # options.add_argument('--user-agent=Mozilla/5.0 HAHA')  # 配置对象添加替换User-Agent的命令
    # options.add_argument('--window-size=1366,768')    # 设置浏览器分辨率(窗口大小)
    # options.add_argument('--start-maximized')         # 最大化运行(全屏窗口),不设置,取元素会报错
    # options.add_argument('--disable-infobars')        # 禁用浏览器正在被自动化程序控制的提示
    # options.add_argument('--incognito')               # 隐身模式(无痕模式)
    # options.add_argument('--disable-javascript')      # 禁用javascript
    
    
    driver = webdriver.Chrome(chrome_options=options)   # 实例化带有配置的driver对象
    driver.get('https://www.baidu.com/')                # 请求百度地址
    
    driver.find_element_by_id('kw').send_keys('python') # 输入python关键字搜索
    
    driver.find_element_by_id('su').click()             # 点击搜索页面
    
    # 通过执行js来新开一个标签页
    js = 'window.open("https://mail.qq.com/")'
    driver.execute_script(js)                           # 执行js
    
    # 获取当前所有的窗口
    window = driver.window_handles
    
    # 根据索引切换窗口
    driver.switch_to.window(window[0])
    driver.switch_to.window(window[1])
    
    driver.quit()                                       # 退出

    注解:--disable-infobars ------禁用浏览器正在被自动化程序控制的提示。如果不设置这个参数,浏览器打开会有这样的提示框
    在这里插入图片描述

    3.基本使用

     1 from selenium import webdriver
     2 from selenium.webdriver import ActionChains
     3 from selenium.webdriver.common.by import By #按照什么方式查找,By.ID,By.CSS_SELECTOR
     4 from selenium.webdriver.common.keys import Keys #键盘按键操作
     5 from selenium.webdriver.support import expected_conditions as EC
     6 from selenium.webdriver.support.wait import WebDriverWait #等待页面加载某些元素
     7 
     8 browser=webdriver.Chrome()
     9 try:
    10     browser.get('https://www.baidu.com')
    11 
    12     input_tag=browser.find_element_by_id('kw')
    13     input_tag.send_keys('美女') #python2中输入中文错误,字符串前加个u
    14     input_tag.send_keys(Keys.ENTER) #输入回车
    15 
    16     wait=WebDriverWait(browser,10)
    17     wait.until(EC.presence_of_element_located((By.ID,'content_left'))) #等到id为content_left的元素加载完毕,最多等10秒
    18 
    19     print(browser.page_source)
    20     print(browser.current_url)
    21     print(browser.get_cookies())
    22 
    23 finally:
    24     browser.close()

    4.其他博客

    知乎:https://zhuanlan.zhihu.com/p/60852696

    CSDN: https://blog.csdn.net/qq_43035475/article/details/103204273

    来源:https://blog.csdn.net/qq_38923792/article/details/94589247

  • 相关阅读:
    SqlServer存储过程
    SQL Server :DBLINK创建及使用
    jQuery控制TR的显示隐藏
    JAVA------22.git导出项目,启动项目
    JAVA------21.String转时间,并向前推进一天
    JAVA------20.经纬度转换省市区
    JAVA------20.图片中插文字和图片
    JAVA------19.生成二维码并插入logo
    JAVA------18.excel导出
    JAVA------17.charles(青花瓷)抓包工具,适用安卓
  • 原文地址:https://www.cnblogs.com/lixueren-wy/p/15127550.html
Copyright © 2020-2023  润新知