selenium鼠標操作及下拉框的操作


1.鼠標操作

selenium的ActionChains類完成模擬鼠標操作

#鼠標操作
from selenium.webdriver.common.action_chains import ActionChains

支持的操作如下:

double_click:雙擊操作

context_click:右擊操作

drag_and_drop:拖拽操作。左鍵按住拖動某一個元素到另外一個區域,然后釋放按鍵

move_to_element():鼠標懸停(重點)

方法:AC.方法名1().context_click().perform()

注:當鼠標懸停后,下拉菜單出現。鼠標移動,下拉消失,此時定位下拉框中的元素時先鼠標定位到元素上按快捷鍵ctrl+shift+c

 

2.下拉框的操作

1)前端頁面由div標簽和a標簽等組成

2)前端頁面由select標簽組成:引入Select類

#select類操作
from selenium.webdriver.support.ui import Select

3.舉例(百度頁面的設置-高級搜索-文檔格式)

def web_mouse_operator(self):
        '''
        鼠標操作:
        1.實例化鼠標類。將鼠標動作存儲起來,放在列表中
        2.調用各種鼠標行為
        3.調用perform()方法執行鼠標操作
        下拉框操作(此處下拉框是采用div標簽和a標簽):
        1.方法一:等待下拉框出現進行元素定位
        2.方法二:可以通過元素下標進行定位操作,此方法用於下拉列表元素很少
        下拉框操作(此處下拉框采用select/option標簽):
        1.實例化類
        2.根據select方法中的一種來選擇
        :return:
        '''

        #找到頁面元素
        ele = self.driver.find_element_by_xpath('//div[@id="u1"]//a[text()="設置"]')
        #實例化鼠標對象
        action = ActionChains(self.driver)
        #鼠標移動到該元素上,鼠標懸停,等待下拉框元素可見
        action.move_to_element(ele).perform()
        #下拉框方法一:
         #等待下拉框出現
        WebDriverWait(self.driver,10).until(EC.visibility_of_element_located((By.XPATH,'//a[text()="高級搜索"]')))
        #下拉框方法二:
         #根據元素的下標進行獲取
        WebDriverWait(self.driver,2).until(EC.visibility_of_element_located((By.XPATH,'//div[@class="bdpfmenu"]//a[2]')))
        #點擊高級搜索按鈕
        self.driver.find_element_by_xpath('//a[text()="高級搜索"]').click()
        time.sleep(10)
        #實例化select類
        select = Select(self.driver.find_element_by_name("ft"))
        #根據下標進行選擇
        select.select_by_index(2)
        time.sleep(3)
        #根據value值來進行選擇
        select.select_by_value("xls")
        time.sleep(3)
        #根據文本內容來選擇
        select.select_by_visible_text("微軟 Powerpoint (.ppt)")
        time.sleep(3)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM