Selenium-webdriver_manager判断是否已经下载过驱动(复用缓存驱动)

这篇具有很好参考价值的文章主要介绍了Selenium-webdriver_manager判断是否已经下载过驱动(复用缓存驱动)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1,谷歌浏览器默认位置

查看selenium是否下载,selenium,缓存,测试工具,python
2,ChromeDriverManager 下载的驱动位置 其中admin为机器的用户名
查看selenium是否下载,selenium,缓存,测试工具,python文章来源地址https://www.toymoban.com/news/detail-848527.html

    def installDriver(self):
        """判断是否需要下载driver"""
        
        """找到本机谷歌浏览器版本"""
        """C:\Program Files\Google\Chrome\Application\122.0.6261.112   
        找到名字为版本号的文件夹"""
        
        dirPath=r'C:\Program Files\Google\Chrome\Application'
        version='122.0.6261.112'
        for item in os.listdir(dirPath):
            if re.search(r'\d{3}.\d.\d{4}.\d{3}',item):
                version=re.search(r'\d{3}.\d.\d{4}.\d{3}',item).group(0)
                break
        username = getpass.getuser()  #获取本机
        driver_path = f"""C:\\Users\\{username}\\.wdm\\drivers\\chromedriver\\win64\\{version}\\chromedriver-win32\\chromedriver.exe"""
        if not os.path.exists(driver_path):
            driver_path = ChromeDriverManager().install()
        return driver_path




    def createDriver(self):
     
        driver_path=self.installDriver()
        op = webdriver.ChromeOptions()
        # op.add_argument('headless')
        op.add_argument('disable-infobars')
        op.add_argument('--ignore-certificate-errors')
        op.add_argument('--allow-insecure-localhost')
        op.add_argument('-ignore -ssl-errors')
        op.add_experimental_option('excludeSwitches', ['enable-automation'])  # 以键值对的形式加入参数
        prefs = {"profile.default_content_settings.popups": 1}
        op.add_experimental_option('prefs', prefs)
        script = '''
                                        Object.defineProperty(navigator, 'webdriver', {
                                            get: () => undefined
                                        })
                                        '''
        self.driver = webdriver.Chrome(service=Service(driver_path))
        self.driver.maximize_window()
        self.driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": script})
        self.driver.execute_script(script)
        script = '''
                                                Object.defineProperty(navigator, 'plugins', {
                                                    get: () => 2
                                                })
                                                '''
        self.driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": script})
        self.driver.set_page_load_timeout(60)

到了这里,关于Selenium-webdriver_manager判断是否已经下载过驱动(复用缓存驱动)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium教程05:使用webdriver-manager自动下载浏览器驱动,再也不用担心driver版本的问题了

    WebDriverManager是一个用于管理Web驱动程序的工具,主要用于自动化测试领域。在进行 Selenium 测试时,需要一个与浏览器相匹配的 Web 驱动程序,以便控制和操作浏览器。WebDriverManager可以自动下载和管理浏览器驱动程序,会自动检测本地系统中安装的浏览器,并下载对应的浏览

    2024年01月17日
    浏览(65)
  • selenium 判断元素是否存在

    目的:自动化中通常需要根据元素是否存在,来决定下一步的动作;比如 A存在就点击 下一步,B存在就点击保存;用于控制脚本的逻辑; selenium中判断元素有几种方式 1、find_element(locateType, locate) 2、WebDriverWait(self.driver, 20, 0.5).until(EC.presence_of_element_located((locateType, locate))) 那么

    2024年01月20日
    浏览(68)
  • selenium元素操作--判断元素是否可用、可选中、是否可见

    Ctrl + 左键可以调出某方法的使用 is_selected() 方法 返回一个布尔值,若可见则返回: True 。若不可见则返回: False 。 is_displayed() 方法返回一个布尔值,若可见则返回: True 。若不可见则返回: False 。 is_enabled() 方法返回一个布尔值,若可点击返回: True 。若不可点击则返回:

    2024年04月13日
    浏览(88)
  • 使用webdriver-manager解决浏览器与驱动不匹配所带来自动化无法执行的问题

    在我们使用 Selenium 进行 UI 自动化测试时,常常会因为浏览器驱动与浏览器版本不匹配,而导致自动化测试无法执行,需要手动去下载对应的驱动版本,并替换原有的驱动,可能还会遇到跨操作系统进行测试的时候,以及浏览器自动升级后,也会导致与驱动不匹配的问题。 为

    2024年02月14日
    浏览(42)
  • npm install / webdriver-manager update报错 unable to get local issuer certificate

    我这边遇到的问题,用的是angular,跑npm install的时候报错,一开始在.npmrc添加strict-ssl=false但是还是报错,搜索下记录。 参考解决: selenium - webdriver-manager update, Error: unable to get local issuer certificate - Stack Overflow 这边主要问题是跑script  webdriver-manager update --gecko false 的时候报错,

    2024年02月07日
    浏览(47)
  • selenium+webdriver爬虫技术

    百度百科Selenium时,头一段文字介绍了selenium的主要作用和特点:selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:

    2024年02月13日
    浏览(89)
  • selenium和webdriver

    Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium可以直接调用浏览器,它支持所有主流的浏览器。我们可以使用selenium很容易完成之前编写的爬虫。 webdriver 可以理解它是浏览器的驱动。 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比

    2024年02月09日
    浏览(44)
  • Selenium - 自动下载 webdriver

    背景 很多浏览器会自动更新,但是 driver 不会自动更新。为了确保 driver 版本和浏览器匹配,可以使用第三方库 webdriver_manager 代码 这个文件里封装了几个函数 driver_seek : 根据给定的目录,和文件名称,查找该目录下是否有这个文件 driver_download : 下载 webdriver 到指定目录,如果

    2024年02月06日
    浏览(58)
  • Selenium WebDriver 开发实战

    WebDriver提供的一系列对象定位方法,获取元素,实现测试用例。现在我们先来写一些调试代码,看看是否能成功驱动浏览器执行操作。 各行代码的作用分别如下: 之前已经安装了Selenium,第1行用于从Selenium库中导入webdriver模块。Selenium库中有common和webdriver两个模块,common模块

    2024年01月17日
    浏览(43)
  • Selenium/webdriver原理解析

     最近在看一些底层的东西。driver翻译过来是驱动,司机的意思。如果将webdriver比做成司机,竟然非常恰当。 我们可以把WebDriver驱动 浏览器 类比成出租车司机开出租车。在开出租车时有三个角色: · 乘客:他/她告诉出租车司机去哪里,大概怎么走。 · 出租车司机:他按照

    2024年02月14日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包