#!usr/bin/env python
#-*- coding:utf-8 -*-
"""ab
@author: sleeping_cat
@contact : [email protected]
"""#
瀏覽器中新開標籤頁(tab)
import
unittest
from selenium import
webdriver
import
time
import
win32api,win32con
vk_code=
defkeydown(keyname):
win32api.keybd_event(vk_code[keyname],0,0,0)
defkeyup(keyname):
win32api.keybd_event(vk_code[keyname],0,win32con.keyeventf_keyup,0)
defsimulatekey(firstkey,secondkey):
keydown(firstkey)
keydown(secondkey)
keyup(secondkey)
keyup(firstkey)
class
testdemo(unittest.testcase):
defsetup(self):
self.driver =webdriver.firefox()
deftest_newtab(self):
time.sleep(3)
#使用for迴圈,再新開兩個新的標籤頁
for i in range(2):
simulatekey(
'ctrl
','t')
#使用ctrl+tab組合件,將當前頁面切換為預設頁面,也就是最先開啟的標籤頁
simulatekey('
ctrl
','tab')
self.driver.get(
'')self.driver.find_element_by_id(
'query
').send_keys('
光榮之路')
self.driver.find_element_by_id(
'stb
').click()
time.sleep(3)
self.asserttrue(
'喬什·盧卡斯'in
self.driver.page_source)
all_handles =self.driver.window_handles
(len(all_handles))
#將當前視窗控制代碼切換至第二個標籤頁
self.driver.switch_to.window(all_handles[1])
self.driver.get(
'')self.driver.find_element_by_id('kw
').send_keys('
webdriver實戰寶典')
self.driver.find_element_by_id('su
').click()
time.sleep(3)
self.asserttrue(
'吳曉華'in
self.driver.page_source)
self.driver.switch_to.window(all_handles[2])
self.driver.get(
'')self.driver.find_element_by_id('kw
').send_keys('
selenium')
self.driver.find_element_by_id('su
').click()
time.sleep(3)
self.asserttrue(
'www.seleniumhq.org'in
self.driver.page_source)
defteardown(self):
self.driver.quit()
if__name__ == '
__main__':
unittest.main()
注意:ie瀏覽器暫不支援
瀏覽器切換標籤頁的方法
方法一 快捷鍵切換標籤頁 我們使用快捷鍵 ctrl 數字 就可以快速切換谷歌瀏覽器的標籤頁了,例如 ctrl 1是切換到第乙個標籤,ctrl 2是切換到第二個標籤,依次類推,但是ctrl 9不是第九個標籤頁,而是最後乙個標籤頁。換一種解釋方法就是,ctrl鍵加上數字鍵1 8對應的是第一到第八個標籤,...
瀏覽器標籤tab視窗切換時事件狀態偵聽
做到 是大屏專案,用的websocket,在瀏覽器切換標籤視窗後,過了一段時間回來,頁面會非常卡,所以想頁面切回來的時候重新整理頁面,找到了這個方法,這是原來的例子。這段 可以自己複製去做下測試 var normal title document.addeventlistener visibilit...
瀏覽器內多個標籤頁之間的通訊
呼叫localstorge cookies等本地儲存方式。方法一 localstorge在乙個標籤頁裡被新增 修改或刪除時,都會觸發乙個storage事件,通過在另乙個標籤頁裡監聽storage事件,即可得到localstorge儲存的值,實現不同標籤頁之間的通訊。標籤頁1 標籤頁 2 方法二 使用...