首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一日一技:使用上下文管理器来强制关闭 Chromedriver

当我们使用 Selenium 通过 Chromedriver 启动 Chrome 浏览网页时,可能会由于某些异常情况导致程序崩溃,但 Chromedriver 进程不会退出。.../chromedriver') driver.get('https://www.kingname.info') 1 + 'a' # 这一行代码必定导致程序崩溃 代码报错以后,弹出的 Chrome 窗口不会自动关闭...,但是又能在程序崩溃的时候自动退出 chromedriver 呢? 这个时候我们就可以使用上下文管理器。 我们先来包装一下 Selenium,实现一个带有上下文管理器的类。..., exc_tb): if self.driver: self.driver.quit() 然后,我们在另一个程序里面调用它: from SafeDriver...所不同的是,使用with启用上下文管理器以后,在退出缩进的时候会执行__exit__中的内容。

2.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何让下载的chrome与chromedriver匹配

    您可以在Chrome浏览器中点击右上角的菜单按钮,然后选择“帮助”>“关于Google Chrome”来查看版本号。记下这个版本号,例如"Chrome 116.0.5845.141"。...下载匹配的Chromedriver:接下来,您需要下载与您的Chrome版本匹配的Chromedriver。Chromedriver是一个用于自动化测试的工具,它与特定版本的Chrome浏览器兼容。...您可以在Chromedriver官方网站(https://sites.google.com/a/chromium.org/chromedriver/)上找到可用的Chromedriver版本列表。...在该网站上,您可以找到与您的Chrome版本匹配的Chromedriver版本。点击下载链接,将Chromedriver下载到您的计算机上。...通过以上步骤,您可以确保下载的Chrome和Chromedriver版本匹配,从而避免Chrome和Chromedriver不兼容的问题。

    15410

    软件测试|手把手教你使用Python获取B站视频选集内容

    只有我们想不到的,没有B站上没有的,我们可以在B站上学做饭,学音乐,学数学,学历史......总之,B站就是如此包罗万象。...言归正传,经常在B站上学习的小伙伴们可能经常会遇到有的博主连载几十个,甚至几百个视频,尤其像这种编程语言、课程、工具使用等连续的教程,就会出现选集系列,如下图所示。...具体实现这篇文章我们用的库是selenium,这个是一个用于模拟用户web页面操作的库,虽然给人的感觉是慢,但是在web自动化测试领域,这个库还是用的蛮多的,用它来模拟用户操作、获取数据屡试不爽。...需要下载对应版本的chromedriver。...https://chromedriver.storage.googleapis.com/index.html上面这个网址可能访问不了,我们可以访问淘宝镜像下载对应版本的chromedriver图片注:chromedriver

    79420

    Selenium3.0支持Chrome65

    由于Selenium3.0对各个浏览器的驱动都是依赖于独立的驱动的,所以可以去官网查看各个设备的驱动 https://www.seleniumhq.org/download/ 而对于Chrome的驱动,...由于某些原因我们是访问不到的,还好国内有镜像,只要在百度中搜索Chromedriver都能看到这个搜索结果 http://npm.taobao.org/mirrors/chromedriver/ 这是淘宝服务器上的对国外镜像的同步地址...,对于最新版的2.36中就说明了对Chrome65的支持 ----------ChromeDriver v2.36 (2018-03-02)---------- Supports Chrome v63-...2223: Unable to load extension if background page name starts with / [[Pri-2]] Resolved issue 2280: ChromeDriver...does not support OOPIF 可以看到新版本的主要内容就是修复bug和对新浏览器支持,下载对应的驱动包后,在代码中指定调用该驱动即可完成对新版本Chrome65的支持,注意默认Chrome

    24530

    Selenium之Chrome选项和Desiredcapabilities: 禁用广告,无痕浏览,无头模式

    例如: 下面的示例展示了如何使用Desired capabilities类使得chrome浏览器默认接受网站上的SSL证书。...下一步是将保存的路径传递到ChromeOptions类 注意: 若不能访问Chrome官网,可到这里去下载已经生成好的CRX 文件,两个版本 AdBlock_Chrome广告拦截器extension_3...广告 在Chrome浏览器上启用AdBlocker扩展后,广告将被禁用。...从Selenium 3.8.1版本开始,驱动程序Capabilities类是不被推荐的,在将相同的参数传递给ChromeDriver构造函数之前,您需要将Capabilities对象与ChromeOption...注意: 我们是通过自动化脚本在Chrome浏览器上启用AdBlocker扩展,而不是手动在Chrome浏览器上启用AdBlocker扩展。CRX文件是一种使用自动化脚本访问广告拦截器扩展的方法。

    16.6K61

    python使用selenium+chromedriver调用chrome截图

    selenium在使用时一直提醒换掉phantomjs 改用 chrome的headless模式,主要是因为phantomjs的维护已经很少了,而chrome的headless模式越来越完善。...都兼容的 首先是chromedriver的下载,https://sites.google.com/a/chromium.org/chromedriver/ 去官网选最新版就好 下好后,服务器上要添加执行权限...,所以要安装字体包 sudo apt-get install ttf-wqy-zenhei 在windows下可以直接启动了 browser = webdriver.Chrome(chrome_driver_path...acceptInsecureCerts'] = True browser = webdriver.Chrome(desired_capabilities=capabilities) 还有一个坑,chrome直接设置超时会使浏览器崩溃...临时写个插件给浏览器加载,让浏览器在100秒后停止运行js chrome_option.add_argument('--load-extension=' + os.getcwd() + '/workers

    4K50

    Selenium+代理爬取需要模拟用户交互的网站

    Selenium是一个自动化测试工具,它可以模拟用户在浏览器中的操作,比如点击按钮、填写表单等。...通过结合Selenium的各种功能,我们可以编写强大的网络爬虫来爬取各种网站上的数据。但请注意,在进行网络爬虫时,务必遵守目标网站的robots.txt规定,并尊重网站的数据抓取政策。...另外,过于频繁的爬取可能会给网站带来负担,甚至触发反爬机制,因此建议在爬取数据的过程中做好反爬措施,比如这里我们以访问知乎为例,通过获取网站的cookie在配合使用代理IP进行采集。...object): # 随机useragent USER_AGENT = open('useragents.txt').readlines() # 代理服务器(产品官网...entry=example&r=https://m.example.cn/' self.browser = self.get_chromedriver(use_proxy=True

    36410

    如何使用 Selenium 在 HTML 文本输入中模拟按 Enter 键?

    此外,我们将编写一个简单的代码,可以自动搜索百度百科网站上的文本 用户应该在他们的系统中安装 python 3.7+ 才能使用 selenium。要安装 selenium,请在终端上运行以下命令。...为了模拟按下回车,用户可以在 python 自动化脚本代码中添加以下行。...HTML_ELEMENT.send_keys(Keys.ENTER) 在百度百科上使用 selenium 搜索文本:在这一部分中,我们将介绍用户如何使用 selenium 打开百度百科站点并在百度百科或其他网站上自动搜索文本...import Keys from time import sleep, strftime # 初始化 webdriver 对象 chromedriver_path = '' webdriver = webdriver.Chrome(executable_path=chromedriver_path) try: # 打开百度百科网站 webdriver.get

    8.3K21

    Java爬虫攻略:应对JavaScript登录表单

    在实际项目中,我们可能需要从一些需要登录的网站上获取数据,比如京东、淘宝等电商网站,这就需要我们编写一个爬虫程序来模拟用户登录并获取所需数据。...解决方案使用Selenium进行模拟登录Selenium是一个用于Web应用程序测试的工具,也可以用于模拟用户在浏览器中的操作。...在我们的示例代码中,我们使用了Chrome浏览器作为演示,首先创建一个ChromeDriver实例,打开京东网站,找到登录链接并点击,然后找到用户名和密码的输入框,输入相应的信息,最后点击登录按钮。...在我们的示例中,我们将使用Scrapy-Selenium扩展来处理JavaScript登录表单。...我们首先创建一个ChromeOptions实例,并设置代理信息,然后创建一个ChromeDriver实例,将代理信息应用到ChromeDriver的选项中,最后打开京东网站并进行其他操作。

    24510

    selenium入门

    最近课有点多,在宿舍呆的时间好少,加上我现在还要做运动,学习的时间更少了,导致我的学习进度好慢好慢...最近在学习selenium了,在学习的过程中电脑出各种问题,比如导入的模块用不了了...又浪费了我很多时间...install selenium 下载浏览器的驱动程序 实例化一个浏览器对象 编写基于浏览器自动化的操作代码 简而言之就是可以自动操作浏览器的模块,比如让他自动抢票,自动点击某些东西.../chromedriver") 我们可以让浏览器自动发起请求(get()方法),去访问我们指定的页面,然后还可以获取页面源码(page_source方法) # 让浏览器对指定url发起请求 bro.get.../chromedriver") bro.get("https://www.baidu.com/") # 定位搜索框 search = bro.find_element_by_id("kw") # 给搜索栏发送一个值...,心情一度还挺崩溃的,好在今天还运动了,感觉分泌了多巴胺,使我的心情好多了。

    58520

    GNE v0.1正式发布:4行代码开发新闻网站通用爬虫

    GNE在提取今日头条、网易新闻、游民星空、 观察者网、凤凰网、腾讯新闻、ReadHub、新浪新闻等数百个中文新闻网站上效果非常出色,几乎能够达到100%的准确率。.../chromedriver') driver.get('https://www.toutiao.com/a6766986211736158727/') time.sleep(3) extractor =...但某些特殊的新闻网站可能无法提取标题,此时,你可以给extract()方法指定title_xpath参数,用于提取新闻标题: extractor = GeneralNewsExtractor() extractor.extract...(html, title_xpath='//title/text()') 提前移除噪声标签 某些新闻下面可能会存在长篇大论的评论,这些评论看起来比新闻正文“更像”正文,为了防止他们干扰新闻的提取,可以通过给...如果一个参数,既在 extract() 方法中,又在 .gne 配置文件中,但值不一样,那么 extract() 方法中的这个参数的优先级更高。

    1.5K20

    火狐谷歌模拟一个虚拟界面

    在Python中进行浏览器测试时,一般我们会选择selenium这样的库来简化我们工作量。而有些时候,为了对一些动态数据进行抓取,我们会选择 PhantomJs 这样的工具。...在Phantomjs的官方网站上,我们可以看到类似如下的字样: ? 在这里就引申出1个headless mode的概念。...那么,我们就来谈谈在Firefox和Chrome浏览器不原生支持headless模式下,如何使用selenium来实现headless模式进行动态数据的抓取。...在Linux中有1个很好用的工具xvfb,它是1个X服务可以用于在没有显示器的硬件和物理输入设备上运行,详细的操作可以参考。而关于X服务的内容,请自行百度。比较常见的例子在ssh中进行X11转发。.../chromedriver",) driver.get('https://account.chsi.com.cn/passport/login?

    94330
    领券