selenium視窗操作以及使用selenium定位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