51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 420|回复: 0
打印 上一主题 下一主题

Selenium如何隐藏浏览器页面?

[复制链接]
  • TA的每日心情
    无聊
    5 天前
  • 签到天数: 941 天

    连续签到: 3 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2023-3-3 13:05:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    Selenium隐藏浏览器页面
      背景
      在工作,学习中,我们常常会使用selenium来获取网页上的数据,编完完整程序之后,实现真正意义上的自动化获取,此时我们会发现在运行中往往会弹出浏览器页面,在调试过程中,这很方便,但是跑自动化时,我们就需要将浏览器隐藏在后台运行即可。这样就不会影响其他工作的进行。
      方法
      主要是通过修改浏览器启动选项进行设置,其实就是将driver=webdriver.Chrome()换成一下三行代码即可,涉及代码如下:
    1.   #浏览器启动选项
    2.   option=webdriver.ChromeOptions()
    3.   #指定为无界面模式
    4.   option.add_argument('--headless')
    5.   # option.headless=True  或者将上面的语句换成这条亦可
    6.   #创建Chrome驱动程序的实例
    7.   driver=webdriver.Chrome(options=option)
    复制代码



      下面通过实例来展示,实现结果:
      弹出浏览器页面
      在这里我列出一个我认为不错的方法,分享给小伙伴们:
      首先,是不隐藏浏览器的正常写法如下:
    1.   from selenium import webdriver
    2.   from selenium.webdriver.common.by import By
    3.   url='https://www.baidu.com/'
    4.   #创建Chrome驱动程序的实例
    5.   driver=webdriver.Chrome()
    6.   #打开浏览器并获取此网址的信息
    7.   driver.get(url)
    8.   #根据定位条件定位内容,并输出
    9.   content=driver.find_element(By.XPATH,'//*[@id="s-top-left"]/a[1]')
    10.   print(content.text)
    11.   #关闭浏览器
    12.   driver.close()
    复制代码



      运行结果如下:此时是有浏览器页面弹出的。
    1.   D:\workplace\venv\Scripts\python.exe D:\workplace\venv\111.py
    2.   新闻
    3.   Process finished with exit code 0
    复制代码



      在后台隐藏浏览器页面
      通过修改浏览器启动选项,来设置浏览器的显隐:
    1.   from selenium import webdriver
    2.   from selenium.webdriver.common.by import By
    3.   url='https://www.baidu.com/'
    4.   #浏览器启动选项
    5.   option=webdriver.ChromeOptions()
    6.   #添加启动选项,指定为无界面模式
    7.   option.add_argument('--headless')
    8.   # option.headless=True  或者将上面的语句换成这条亦可
    9.   #创建Chrome驱动程序的实例
    10.   driver=webdriver.Chrome(options=option)
    11.   #,打开浏览器并获取此网址的信息
    12.   driver.get(url)
    13.   #根据定位条件定位内容,并输出
    14.   content=driver.find_element(By.XPATH,'//*[@id="s-top-left"]/a[1]')
    15.   print(content.text)
    16.   #关闭浏览器
    17.   driver.close()
    复制代码



      运行结果如下,此时浏览器页面无弹出。
    1.   D:\workplace\venv\Scripts\python.exe D:\workplace\venv\111.py
    2.   新闻
    3.   Process finished with exit code 0
    复制代码


      总结
      掌握一门技术的最佳途径就是实践,好记性不如烂笔头,让咱们一起去实践学习吧!

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-5 19:18 , Processed in 0.065044 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表