• Selenium启动chrome,页面显示与隐藏事件


    整理selenium启动chrome并启动扩展程序
    在做自动化时,有时需要进行插件近些协助,整理一下集中方式

    打开扩展程序

    要使用任何扩展程序打开 chrome 浏览器,您需要使用 add_extension() 方法通过 chrome.options 类,您可以使用以下解决方案

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    chrome_options = Options()
    chrome_options.add_extension(r'C:\path\to\extension.crx')
    driver = webdriver.Chrome(chrome_options=chrome_options, executable_path=r'../chromedriver.exe')
    driver.get('https://www.google.co.in')
    print("Page Title is : %s" %driver.title)
    driver.quit()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    这不能通过硒来实现。一种快速的方法是使用win32 api模拟在屏幕上单击扩展按钮的坐标。首先在屏幕上找到扩展按钮的坐标。您可以使用类似this的工具。一、 我自己通过thischrome扩展与按钮下方的DOM坐标进行比较,发现了一个大致的位置。在

    然后,使用下面的代码模拟单击该位置:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    import win32api, win32con
    
    chrome_options = Options()
    chrome_options.add_extension('//path to crx')
    driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='path to chromedriver')
    driver.maximize_window()
    click(1317,51) # the coordinates of the button on my 1366 x 768 screen after maximizing. 
    
    def click(x,y):
        win32api.SetCursorPos((x,y))
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    禁用“保存密码”弹窗

    用Selenium Chromedriver打开chrome浏览器不加载书签以及提示“正在受到自动软件的控制”

    chrome_options.add_experimental_option("prefs", {"credentials_enable_service": False,
                                                            "profile.password_manager_enabled": False})
    
    • 1
    • 2

    打开带标签chrome

    这行语句的目的是加载用户配置项目,这样启动Chrome浏览器后,就有书签等项目了。参数“–user-data-dir=”后面的路径请改为你自己电脑上的路径!!!你可以在Chrome浏览器地址栏输入chrome://version/回车,找到“个人资料路径”后面的地址,去掉最后的Default!再加上转义符""

    chrome_options.add_argument('--user-data-dir=C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\User Data')
    
    • 1

    禁止显示“请停用以开发者……”

    chrome_option.add_experimental_option('useAutomationExtension',False)
    
    • 1

    禁止显示“Chrome正受到自动化软件的控制”

    chrome_option.add_experimental_option("excludeSwitches",['enable-automation'])
    
    chrome_option.add_experimental_option('w3c',False)
    
    • 1
    • 2
    • 3

    无头模式

    chrome_option.add_argument('--headless')
    
    • 1

    参考引用:
    https://www.it1352.com/2647589.html
    http://t.zoukankan.com/soundcode-p-12506068.html

  • 相关阅读:
    阿里巴巴大佬整理的80道多线程并发面试题,成功攻克Java面试官,拿下offer!
    pip 指定源(换源)
    计数排序的简单理解
    使用Redis常遇到的问题
    goreplay使用
    「聊设计模式」之观察者模式(Observer)
    [Python进阶] 程序打包之Pyinstaller参数介绍
    c++入门必学算法 快速幂
    ESP32-C3入门教程 基础篇⑪——Non-Volatile Storage (NVS) 非易失性存储参数的读写
    阿里云服务器搭建sql 服务
  • 原文地址:https://blog.csdn.net/weixin_54767527/article/details/125865936