WebDriver API 元素定位(三)
阿新 • • 發佈:2018-06-27
IE sele webdriver 否則 IV HR 元素 content pytho
- 將元素滾定到可見區域
- 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 元素定位(三)