1. 程式人生 > >WebDriver API 元素定位(三)

WebDriver API 元素定位(三)

IE sele webdriver 否則 IV HR 元素 content pytho

  1. 將元素滾定到可見區域
  2. iframe切換
  • 將元素滾定到可見區域

  web頁面不能一次顯示全部全部顯示,需要借助滾定來查看相應的顯示;selenium進行操作時,需要在可視範圍內進行操作,

  就需要將特定的元素滾動到可視範圍進行操作,可以借助“execute_script("arguments[0].scrollIntoView();", target)”’來滾動頁面。

  ①  driver.execute_script("arguments[0].scrollIntoView();", target)  #將元素滾定到頁面頂部(target表示需要顯示的元素)
  ②  driver.execute_script("arguments[0].scrollIntoView(false);",target)  #將元素滾定到頁面底部

#!/usr/bin/python 
#   coding:utf-8
#----Score Liu----

from selenium import webdriver
import time

driver = webdriver.Chrome()
#打開百度頁面
baidu_url = https://www.baidu.com/
driver.get(baidu_url)
#輸入信息並搜索
# driver.maximize_window()
time.sleep(2)
driver.find_element_by_id("kw").send_keys("寧波")
driver.find_element_by_id(
"su").click() time.sleep(2) target = driver.find_element_by_xpath("//div[@id=‘content_left‘]//div[@id=‘5‘]//a[text()=‘人民政府‘]") # driver.execute_script("arguments[0].scrollIntoView();", target)#將元素滾定到頁面頂部 driver.execute_script("arguments[0].scrollIntoView(false);",target)#將元素滾定到頁面底部 target.click()
  • iframe切換

  iframe的定義:iframe 元素會創建包含另外一個文檔的內聯框架(即行內框架)

  當我們需要定位iframe內部的元素,就需要進行iframe切換,否則無法定位到相應的元素。

  使用qq課堂的登錄頁面為例:

# 選擇iframe
driver.switch_to.frame(login_frame_qq)

技術分享圖片技術分享圖片

WebDriver API 元素定位(三)