怎么利用driver.close()与driver.quit()实现一个浏览器关闭功能

  介绍

怎么利用driver.close()与driver.quit()实现一个浏览器关闭功能吗?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

Windows系统上,每次运行完硒程序后,chromedriver。exe进程总是不能彻底关闭。

怎么利用driver.close()与driver.quit()实现一个浏览器关闭功能

硒操作chrome浏览器需要有ChromeDriver驱动来协助.webdriver中关浏览器关闭有两个方法,一个叫放弃,一个叫接近。

/* *   *关闭当前窗口,退出浏览器如果这# 39;s最后当前打开的窗口。   */空白close ();/* *   *退出这个驱动程序,关闭所有窗口相关联。   */无效退出();

通过查看以上官方声明文档,可以看出密切的方法是关闭当前窗口,这个当前如何理解?就是司机实例操作的页面,叫当前。如果当前窗口只有一个选项卡,那么这个亲密的方法就相当于关闭了浏览器.quit方法就是直接退出并关闭所有关联的选项卡窗口,所以,近方法一般关闭一个选项卡,退出方法才是我们认为的完全关闭浏览器方法。为了证明这个,我们用一个例子去演示:

包教训;
  
  进口org.openqa.selenium.By;
  进口org.openqa.selenium.WebDriver;
  进口org.openqa.selenium.chrome.ChromeDriver;
  
  公开课FindElement_LinkText {
  
  公共静态void main (String [] args){抛出异常
  
  “System.setProperty (“webdriver.chrome.driver"。\ \工具\ \ chromedriver.exe");
  
  WebDriver司机=new ChromeDriver ();
  .maximize .window driver.manage () () ();
  
  driver.get (“https://www.baidu.com");
  
  driver.close ();//driver.quit ();
  }
  
  }

通过切换注销最后两行代码,分别运行,观察这两种方法的实际效果。当使用近方法的时候,因为只有百度首页这个选项卡中,所以会关闭浏览器,但是通过查看任务管理器发现,ChromeDriver进程仍存在内存中。如果使用退出方法,整个浏览器都直接关闭,ChromeDriver进程也会被结束。

ChromeDriver是轻量级的服务,在单任务或不需要频繁启动浏览器的情况下,使用driver.quit()关闭浏览器,可以正常结束ChromeDriver进程。若在一个比较大的,<强>测试强套件中频繁的启动关闭,会增加一个比较明显的延时导致浏览器进程不被关闭的情况发生,为了避免这一状况我们可以通过ChromeDriverService来控制ChromeDriver进程的生死,达到用完就关闭的效果避免进程占用情况出现(跑步,,<强>服务器,在子进程)。具体实现如下:

 ChromeDriverService服务=new ChromeDriverService.Builder () .usingChromeDriverExecutable(新文件(“E: \ \硒WebDriver \ \ chromedriver_win_23.0.1240.0 \ \ chromedriver.exe")) .usingAnyFreePort () .build ();
  service.start ();
  司机=new ChromeDriver ();
  driver.get (“http://www.baidu.com");
  driver.quit ();//关闭ChromeDriver接口
  service.stop (); 

以上讨论的均是java版的实现,对于python来说是使用服务库来实现控制chromedriver的开启和关闭。

。服务导入服务

创建的时候需要把chromedriver。exe的位置写在服务的XXX部分,需要调用他的命令行方法,不然报错,然后启动就可以了。

 driver.quit ()
  c_service.stop () 

嫌麻烦也可以直接使用python的os模块执行下面两句话结束进程

os.system (& # 39; taskkill/im chromedriver。exe/f # 39;   os.system (& # 39; taskkill/im chrome。exe/f # 39;)

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

怎么利用driver.close()与driver.quit()实现一个浏览器关闭功能