前言

有时候一些业务的功能涉及到多个系统,需要在web系统1打开造一些数据,然后用到某些参数是动态生成的,需要调用web系统2里面的参数。

举个简单例子:在做某些业务的时候,需要手机短信验证码,我不可能去搞个手机连着电脑吧,那样太傻,我们的目的是获取短信验证码,短信验证码都有短信平台去查询。

当然能直接操作数据库最简单了,用python连数据库直接通过sql去查就行。

一、启动两个driver

1.如果我想启动2个火狐,一个火狐打开百度,另外一个火狐打开博客园,我们只需用2个实例driver去控制就行

(注意:不要两个都叫driver,要不然后面的会覆盖前面的,导致无法继续操作前面那个浏览器窗口了)

2.运行后结果,桌面启动2个窗口,一个打开了百度,一个打开了上海-悠悠 博客园

二、关掉窗口

1.driver1是控制第一个浏览器窗口的实例参数,driver2是控制第二个窗口的实例参数,如果想关掉第一个,driver1.quit()就行了

2.quit掉第一个浏览器窗口后,前面那个浏览器窗口就无法操作了,这里可以接着操作第二个浏览器窗口

# coding:utf-8
from selenium import webdriver
import time

# 启动第一个浏览器
driver1 = webdriver.Firefox()
driver1.get("https://www.baidu.com")
print(driver1.title)

# 启动第二个浏览器
driver2 = webdriver.Firefox()
driver2.get("http://www.cnblogs.com/yoyoketang/")
print(driver2.title)

# 关掉第一个浏览器窗口
driver1.quit()

# 点首页"博客园"按钮
driver2.find_element_by_id("blog_nav_sitehome").click()
time.sleep(2)
print(driver2.title)

三、封装启动浏览器方法

1.如果涉及到不同的浏览器(如Firefox、chrome)之间的切换,我们可以专门写一个函数去启动不同浏览器

四、参考代码

# coding:utf-8
from selenium import webdriver

def browser(browser='firefox'):
    '''
    open browser "firefox"、"chrome"、"ie"、"phantomjs"
    usage:
    driver = broswer("chrome")
    '''
    try:
        if browser == "firefox":
            driver = webdriver.Firefox()
            return driver
        elif browser == "chrome":
            driver = webdriver.Chrome()
            return driver
        elif browser == "ie":
            driver = webdriver.Ie()
            return driver
        elif browser == "phantomjs":
            driver = webdriver.PhantomJS()
            return driver
        else:
            print("Not found browser!You can enter 'firefox', 'chrome', 'ie' or 'phantomjs'")
    except Exception as msg:
        print "open browser error:%s" % msg

if __name__ == "__main__":
    # 默认启动firefox
    driver_firefox = browser()
    driver_firefox.get("https://www.baidu.com")
    print("open browser:%s" % driver_firefox.name)
    print(driver_firefox.title)

# 启动第phantomjs
    driver_pj = browser("phantomjs")
    driver_pj.get("http://www.cnblogs.com/yoyoketang/")
    print("open browser:%s" % driver_pj.name)
    print(driver_pj.title)

最新文章

  1. Thinkcmf:页面常用函数
  2. C# interface abstract class
  3. Subway---poj2502(最短路)
  4. struts2和servlet同时用(访问servlet时被struts2过滤器拦截问题的解决)
  5. 深入ThreadLocal之二
  6. 11.6Daily Scrum
  7. umount移动硬盘遇到device is busy问题
  8. Controllers, Actions 和 Action Results
  9. Wpf ListBox数据绑定实例1--绑定字典集合
  10. java 集合类说明与区别
  11. vue 实现子向父传值
  12. vue项目使用element-ui的Tooltip 无效
  13. 利用Python中的mock库对Python代码进行模拟测试
  14. HTML5 学习05—— 拖放(Drag 和 Drop)
  15. 使用Groovy+Spock轻松写出更简洁的单测
  16. struts2 一些注解
  17. BZOJ4571:[SCOI2016]美味(主席树,贪心)
  18. scrapy 爬虫踩过的坑(II)
  19. Java实现文本创建、删除、编辑内容
  20. 使用L2正则化和平均滑动模型的LeNet-5MNIST手写数字识别模型

热门文章

  1. 制作一个简易计算器——基于Android Studio实现
  2. Byte数据类型—Java
  3. ai学习记录
  4. HTML5表单提交与PHP环境搭建
  5. Mac系统中常用快捷键
  6. Android-使用ViewFlipper实现轮番切换广告栏
  7. git使用笔记(七)版本回退和撤销
  8. [ZJOI2005]午餐 (DP)
  9. React 入门小结
  10. java消息中间件入门