天天看點

day35(1221):web頁面操作(三)滑鼠操作+下拉清單

# ==========================
# @time:2019/12/25 20:54
# @Author:coco
# @File:滑鼠操作+下拉清單.py
# @software:PyCharm
# ============================

"""
actionChains
點選 click
輕按兩下  double_click
懸浮   move_to_element
右鍵  context_click
拖曳  drag_and_drop
暫停  pause

click_and_hold 和 release

0)執行個體actionChains類
1)要操作的動作放在連結清單當中。動作的函數放到清單當中。(找到元素,調用 滑鼠行為)
2)調用perform()去執行動作。

"""
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

# 開啟與浏覽器的會話 -newSession
driver = webdriver.Chrome()

driver.get("http://www.baidu.com")

# 設定元素
loc = (By.XPATH, '//div[@id="u1"]//a[@name="tj_settingicon"]')

# 0)執行個體化actoinChains類
ac = ActionChains(driver)

# 1)要操作的動作放在連結清單當中
ele = driver.find_element(*loc)
ac.move_to_element(ele)

# 2)調用perform()去執行動作
ac.perform()

# 等待進階搜尋出現
loc=(By.XPATH,'//a[text()="進階搜尋"]')
WebDriverWait(driver,20).until(EC.visibility_of_element_located(loc))
driver.find_element(*loc).click()

# select下拉清單:select/option
# 1)執行個體化Select類 -select元素
loc=(By.XPATH,'//select[@name="ft"]')
WebDriverWait(driver,20).until(EC.visibility_of_element_located(loc))
select_ele = driver.find_element(*loc)
s = Select(select_ele)

# 2)使用它提供的選擇方法,選擇下拉清單的值
"""
1)下标。 s.select_by_index()
2)文本。 s.select_by_visible_text()
3)value屬性 s.select_by_value()
"""
s.select_by_index(6)
time.sleep(3)
s.select_by_visible_text("Adobe Acrobat PDF (.pdf)")
time.sleep(3)
s.select_by_value("ppt")

time.sleep(10)
driver.quit()

           

繼續閱讀