• selenium奇淫技巧


    Chromdriver的配置项:https://peter.sh/experiments/chromium-command-line-switches/

    下面列举常用配置项:

    防止网站识别Selenium代码:

    from selenium import webdriver
    options = webdriver.ChromeOptions() options.add_experimental_option('excludeSwitches', ['enable-automation'])
    driver
    = webdriver.Chrome(chrome_options=options)
    driver.get('https://www.taobao.com')

    Selenium 不加载图片:

    from selenium import webdriver
    options = webdriver.ChromeOptions()
    prefs = {"profile.managed_default_content_settings.images":2}
    options.add_experimental_option("prefs", prefs)
    driver = webdriver.Chrome(chrome_options=options)
    driver.get('https://www.taobao.com')

    最大化窗口打开浏览器:

    注:配置参数前面两个小横线可以去掉,如:--headless 可以写成 headless

    from selenium.webdriver.chrome.options import Options
    options = Options()
    options.add_argument('--start-maximized') # 最大化窗口
    options.add_argument('window-size=400,900') # 设置浏览器尺寸 driver
    = webdriver.Chrome(chrome_options=options) driver.get('http://www.baidu.com') # 下面这种方法先用chrome默认大小打开,再最大化或自定义尺寸
    driver = webdriver.Chrome() driver.get('http://www.baidu.com') driver.maximize_window() # 窗口最大化 driver.set_window_size(600, 900) # 自定义尺寸

     

    options.add_argument('--headless') #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
    options.add_argument('--incognito') # 无痕模式
    options.add_argument('--disable-infobars') # 不显示 chrome正受到自动测试软件的控制。
    options.add_argument('--hide-scrollbars') # 隐藏滚动条
    options.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度
    
    

    对JS alert()弹窗的处理:

    # 已经有弹窗弹出
    
    # 捕获弹窗
    alert = driver.switch_to.alert # 或者 driver.switch_to_alert()
    # 读取弹窗内容
    print(alert.text)
    # 点击确定关闭弹窗
    alert.accept()

     对 iFrame框架处理:

    # 可以把框架理解为浏览器的一个新标签页
    # 切换到框架后就可以把框架当作一个打开的网页进行操作
    # 切换到iframe框架
    driver.switch_to.frame('框架name属性值') # 或者 driver.switch_to_frame('框架name属性值')
    driver.find_element_by_id('frameLink').click()
    driver.switch_to.parent_frame() # 再切换到父框架

    待更新...

  • 相关阅读:
    Tensorflow和pytorch安装(windows安装)
    KNN和K-Means算法
    numpy 介绍与使用
    opencv简单实用(cv2)
    使用matplotlib画图
    python图片处理PIL
    webpack
    Vue路由(vue-router)
    Vue组件
    Vue过滤器、生命周期函数和vue-resource
  • 原文地址:https://www.cnblogs.com/cloak/p/11227462.html
Copyright © 2020-2023  润新知