from selenium.webdriver.common.action_chains import ActionChains
import time
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC #期望条件
from selenium.webdriver.common.by import By #八种定位方式
from selenium.webdriver.common.keys import Keys #键盘
from selenium.webdriver.support.ui import Select
#处理下拉选择 #创建浏览器驱动
driver = webdriver.Chrome(service_log_path='E:chrome.log')
# driver.implicitly_wait(30)
#访问一个网站 driver.get('http://www.baidu.com') driver.maximize_window()
#设置窗口最大化 ele = driver.find_element_by_id("s-usersetting-top")
#获取要点击的‘设置’元素 ''' 方法一,这里可以直接click 方法二,鼠标点击方法 '''
# driver.find_element_by_id("s-usersetting-top").click()
#方法一 ActionChains(driver).move_to_element(ele).perform()
#方法二 #点击设置元素后等待弹出框里的元素显示
WebDriverWait(driver,10,1).until(EC.visibility_of_element_located((By.XPATH,'//div[@class="s-user-setting-pfmenu"]//a[text()="高级搜索"]')))
#---------------------切换window---------------------
handles = driver.window_handles print("第一个",handles)
#执行 driver.find_element_by_xpath('//div[@class="s-user-setting-pfmenu"]//a[text()="高级搜索"]').click()
#等待新的弹窗出来
WebDriverWait(driver,6).until(EC.visibility_of_element_located((By.XPATH,'//div[@class="c-select-selection"]')))
driver.find_element_by_xpath('//span[@id="adv-setting-ft"]//div[@class="c-select-selection"]').click() time.sleep(2)
driver.find_element_by_xpath('//p[text()="微软 Powerpoint (.ppt)"]').click()
''' 第二种方法是,如果遇到的是Select标签,用下面的方法 '''
# datas = driver.find_element_by_xpath('select和options路径')
#
#把所有的元素都放置到select类种
#
# s = Select(datas)
#
#可以通过下标或者value或者text三种方式确认
#
# s.select_by_visible_text("所有格式")
#
# s.select_by_index()
#
# s.select_by_value()