python最简单的浏览器页面切换 By Dopamine

主要是为了测试browser.switch_to.window(browser.window_handles[x]),x为0.1.2.3.4…。可以直接对打开的网页进行页面的切换,不用再用循环获取所有打开网页的句柄,然后再判断。

from selenium import webdriver
import time

browser = webdriver.Chrome()
# 设置隐式等待 find等待查询,每半秒执行查询一次最长8秒
browser.implicitly_wait(8)
browser.get("http://www.hao123.com/")
browser.maximize_window()

# 共建立五个网页
# 第一个是开始的 hao123.com
# 第二个 点击 百度
browser.find_element_by_css_selector('[href="http://www.baidu.com/?tn=sitehao123_15"]').click()
# 第三个 点击 新浪
browser.find_element_by_css_selector('[href="http://www.sina.com.cn/"]').click()
# 第四个 点击 搜狐
browser.find_element_by_css_selector('[href="http://www.sohu.com/"]').click()
# 第五个 点击  腾讯
browser.find_element_by_css_selector('[data-id="4"] [href="http://www.qq.com/"]').click()


# 没有切换前在 hao123.com 页面 第1个打开的页面对应的window_handles[0]
browser.find_element_by_css_selector('[data-hook="inputBox"] [data-hook="searchInput"]').clear()
browser.find_element_by_css_selector('[data-hook="inputBox"] [data-hook="searchInput"]').send_keys("我是Dopamine,hao123")
# 留时间取查看是否输入
time.sleep(15)

# 切换第2个打开的页面百度,对应的window_handles[4]
browser.switch_to.window(browser.window_handles[4])
# 留下痕迹
browser.find_element_by_css_selector('#kw').clear()
browser.find_element_by_css_selector('#kw').send_keys("我是Dopamine,百度")
time.sleep(5)

# 切换第3个打开的新浪网站,对应的window_handles[3]
browser.switch_to.window(browser.window_handles[3])
# 留下痕迹
browser.find_element_by_css_selector('[name="SerchKey"]').clear()
time.sleep(2)
browser.find_element_by_css_selector('[name="SerchKey"]').send_keys("我是Dopamine,新浪")
time.sleep(5)

# 切换第4个打开的 搜狐,对应的window_handles[2]
browser.switch_to.window(browser.window_handles[2])
# 留下痕迹
browser.find_element_by_css_selector(".top-box .search-input,left").clear()
time.sleep(2)
browser.find_element_by_css_selector(".top-box .search-input,left").send_keys("我是Dopamine,搜狐")
time.sleep(5)

# 切换第5个打开的 腾讯,对应的window_handles[1]
browser.switch_to.window(browser.window_handles[1])
# 留下痕迹
browser.find_element_by_css_selector("#sougouTxt").clear()
browser.find_element_by_css_selector("#sougouTxt").send_keys("我是Dopamine,腾讯")
time.sleep(5)

# 重新 切换到第1个打开的 hao123.com,对应的window_handles[0]
browser.switch_to.window(browser.window_handles[0])
browser.find_element_by_css_selector('[data-hook="inputBox"] [data-hook="searchInput"]').clear()
browser.find_element_by_css_selector('[data-hook="inputBox"] [data-hook="searchInput"]').send_keys("我是Dopamine,我转了一圈又回来了")
time.sleep(5)

browser.quit()

示例说明:新浪网站响应不是很快,也可能是我自己网络为题,所以多加了几个延时,仅仅是为了测试

网上大部分都是相互复制,没有实例,我就顺便验证了下,
打开网页的顺序是1.2.3.4.5…N
所在网页的句柄是0.N-1.N-2.N-3…

例如:
依次打开了 网页1,网页2,网页3,网页4,网页5
那么对应的句柄为:
网页1---------->browser.window_handles[0]
网页2---------->browser.window_handles[4]
网页3---------->browser.window_handles[3]
网页4---------->browser.window_handles[2]
网页5---------->browser.window_handles[1]

通过`browser.switch_to.window(browser.window_handles[X])`即可实现页面的轻松切换
By  Dopamine
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值