1. 程式人生 > >selenium視窗操作以及使用selenium定位iframe內部標籤元素

selenium視窗操作以及使用selenium定位iframe內部標籤元素

1. 標籤內部存在iframe,普通的方式無法直接定位到iframe內部的標籤元素。需要切換

2. 一個瀏覽器物件,存在多個標籤選項卡。需要切換。開啟多個頁面以後,不會自動的切換介面,因此需要通過判斷來切換定位的視窗(每個視窗都有各自的編號)

定位iframe內部標籤元素

登入QQ郵箱為列:


#import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait



driver = webdriver.Firefox()
driver.get('https://mail.qq.com/')
# frame()查詢和定位iframe框架的方法(switch_to)
driver.switch_to.frame(driver.find_element_by_id('login_frame')) driver.find_element_by_id('switcher_plogin').click() username = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_css_selector('#u')) pwd = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_css_selector('#p')) username.send_keys('123') pwd.send_keys('123')

selenium視窗操作

#import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait



driver = webdriver.Firefox()
driver.get('https://www.baidu.com/')


# 獲取當前視窗的window
current_window = driver.current_window_handle
print(current_window, driver.title)

driver.find_element_by_link_text('新聞').click()
time.sleep(1)

current_window = driver.current_window_handle
print(current_window, driver.title)

driver.find_element_by_css_selector('.hdline0 .a3').click()
time.sleep(1)


***********切換視窗的過程*****************
current_window = driver.current_window_handle
#獲取當前driver所定位的視窗
 print(current_window, driver.title)

# 獲取當前driver開啟的所有視窗window
windows = driver.window_handles
print(windows)

#遍歷後判斷當前定位的視窗與新開啟的視窗不同是,切換到新開啟的視窗
for win in windows:
    if current_window != win:
        #win是心得視窗編號
         driver.switch_to.window(win)
************************************************* current_window = driver.current_window_handle print(current_window, driver.title) title = driver.find_element_by_class_name('h-title').text print(title) # 當前頁面操作完畢,重新回到上一個頁面
driver.close()
# 關閉當前頁
driver.switch_to.window(current_window)
time.sleep(3)# 休眠3秒

driver.close() # 關閉當前driver操作的視窗,其他視窗不會關閉。

driver.quit() # 將driver瀏覽器物件退出,所有相關聯視窗都會關閉。

火狐瀏覽器設定下載時不彈出視窗

profile = webdriver.FirefoxProfile()

profile.set_preference(“browser.helperApps.neverAsk.saveToDisk”,”application/octet-stream”)

driver = webdriver.Firefox(Firefox_profile=profile)


相關推薦

selenium視窗操作以及使用selenium定位iframe內部標籤元素

1. 標籤內部存在iframe,普通的方式無法直接定位到iframe內部的標籤元素。需要切換;2. 一個瀏覽器物件,存在多個標籤選項卡。需要切換。開啟多個頁面以後,不會自動的切換介面,因此需要通過判斷來

python selenium 定位iframe中的元素,進入iframe,需要返回

from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from se

iframe獲取父視窗中的父視窗中的另外一個iframe中的元素問題

頁面層次結構如下: ————- mainPage(mainPage有兩個iframe:iframe1和iframe2) ————————iframe1 ————————iframe2(iframe2中又巢狀一個iframe:iframe2_1) ———————————–i

web自動化2-selenium基本操作元素定位

main .com blog text lin div spa wid 操作 id driver.find_elenment_by_id("kw") name driver.find_element_by_name("kw") class name diver.find

python+selenium定位iframe

·· tag 頁面 () selenium 主界面 xxxx nts 兩個 定位iframe # 1.有id,並且唯一,直接寫id driver.switch_to_frame("xxx") driver.switch_to.frame("xxx") # 2.有na

python+selenium利用線上程式碼轉換工具,批量定位百度頁面元素https://www.sojson.com/jshtml.html(附操作步驟)

一、定位一組元素如下圖 二、選擇copy element複製頁面元素 <div id="u1"><a href="http://news.baidu.com" name="tj_tr

python Selenium 常見操作 元素定位

一. 定位元素方法 find_element_by_idfind_element_by_namefind_element_by_xpathfind_element_by_link_textfind_element_by_partial_link_textfind_ele

python selenium 定位iframe(多層框架)

在 web 應用中經常會出現 iframe 巢狀的應用,假設頁面上有 A、B 兩個 iframe,其中 B 在 A 內,那麼定位 B 中的內容則需要先到 A,然後再到 B。 iframe 中實際上是嵌入了另一個頁面,而 webdriver 每次只能在一個頁面識別,因此需要用

管理 Selenium webdriver定位iframe裡面元素

在查詢元素過程中,直接通過id或者xpath等找不到元素,檢視頁面原始碼發現元素是屬於iframe裡,例如: <div class="wrap_login"> <iframe class="frame_login" src="https://exaccount.east

selenium 定位iframe

1、定位動態的iframe       因為剛學selenium,所以用了QQ郵箱練手,發現到處卡殼,QQ郵箱裡面好多web元素都是動態的,一開始總是定位不到正文輸入框那個位置,後來發現是在一個iframe裡面,這個iframe的id是動態的,如下圖: 後來多看了幾個,發

selenium多個視窗操作及切換

1.實現多個視窗的切換和使用 #!/usr/bin/python # -*- coding: utf-8 -*- ''' @author:free Created on 2016年3月21日 ''' #----------------------------------

Web自動化必會知識:「Web基礎、元素定位元素操作Selenium執行原理、專案實戰+框架」

1.web 基礎-html、dom 物件、js 基本語法 Dom 物件裡面涉及元素定位以及對元素的修改。因為對元素操作當中涉及的一些 js 操作,js 基本語法要會用。得要掌握前端的基本用法。為什麼要元素定位?因為找到這個元素,就能告訴程式碼要找誰要做什麼。 2.元素定位 四大基本元素定位:id name c

java selenium (十四) 處理Iframe 中的元素

toolbar htm 技術 方法 abs 中心 復制代碼 stat 浦東 什麽是iframe iframe 就是HTML 中,用於網頁嵌套網頁的。 一個網頁可以嵌套到另一個網頁中,可以嵌套很多層。 selenium 中提供了進入iframe 的方法 // 進入

Selenium Grid操作使用指南

browser rem onf ont cap turn and 分布式 127.0.0.1 一、實現串行多瀏覽器執行腳本1、啟動selenium-server-standalonejava -jar selenium-server-standalone-2.44.0.ja

web自動化8-selenium簡單操作方法

bdr url isp nbt web selenium attr () 尺寸 1. 控制窗口大小 form selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.ba

python+selenium環境搭建以及遇到的坑

三方庫 很大的 第三方庫 git 工具 解壓縮 .py clas 安裝python ---恢復內容開始--- window10下環境搭建 1.安裝python https://www.python.org/downloads/ 在該網址下下載python最新版本,點擊

Python+Selenium學習--簡單對象定位

UC boot ria DC exceptio 目的 部分 系列 min 場景 測試對象的定位和操作是webdriver的核心內容,其中操作又是建立在定位的基礎之上,因此對象定位就越發顯得重要了。 定位對象的目的一般有下面幾種 操作對象 獲得對象的屬性,如獲得測試對象的c

Selenium登入126郵箱,定位不到賬號輸入框解決辦法

檢視元素髮現id為動態,所以不選擇以id定位。   使用xpath路徑定位,每次獲取元素都失敗,最後網上查了下發現其巢狀在表單frame/iframe中,所以我們先要進入frame/iframe中,然後再定位   frame/iframe的定位方式有3種,一是通過id;二是通過

selenium - 滑鼠操作

# 7. 滑鼠操作# 由selenium的ActionChains類來完成滑鼠操作# (1)儲存滑鼠操作# (2)perform()來執行滑鼠操作# double_click 雙擊操作# context_click 右鍵操作# drag_and_drop 拖拽操作:左鍵按住拖動某一個

selenium - 鍵盤操作

# 8. 鍵盤操作from selenium.webdriver.common.keys import Keys# send_keys(Keys.CONTROL,'a') Ctrl+A# send_keys(Keys.CONTROL,'c') Ctrl+C# send_keys(Keys.CONTRO