• 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() # 再切换到父框架

    待更新...

  • 相关阅读:
    css 之 input 的提交样式
    JSON 没错又是它!!!
    json 对象解析 function 里面的return 和return false 查找字符串最后的结尾字符
    sql 中update 对字符串进行批量替换
    17 常用模块
    16 模块深入
    15 模块
    14 生成器,生成器表达式,内置函数,面向过程编程
    13 迭代器
    12 递归 三元表达式 列表生成式 字典生成式 匿名函数
  • 原文地址:https://www.cnblogs.com/cloak/p/11227462.html
Copyright © 2020-2023  润新知