日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python selenium webdriver方法封装(find_element_by)

發布時間:2024/9/21 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python selenium webdriver方法封装(find_element_by) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下面是對find_element_by_就行了封裝,封裝之后的高級方法就是getElement()

下面是具體的代碼:

def getElement(self, selector):"""to locate element by selector:argselector should be passed by an example with "i,xxx""x,//*[@id='langs']/button":returnsDOM element"""if ',' not in selector:return self.driver.find_element_by_id(selector)selector_by = selector.split(',')[0]selector_value = selector.split(',')[1]if selector_by == "i" or selector_by == 'id':element = self.driver.find_element_by_id(selector_value)elif selector_by == "n" or selector_by == 'name':element = self.driver.find_element_by_name(selector_value)elif selector_by == "c" or selector_by == 'class_name':element = self.driver.find_element_by_class_name(selector_value)elif selector_by == "l" or selector_by == 'link_text':element = self.driver.find_element_by_link_text(selector_value)elif selector_by == "p" or selector_by == 'partial_link_text':element = self.driver.find_element_by_partial_link_text(selector_value)elif selector_by == "t" or selector_by == 'tag_name':element = self.driver.find_element_by_tag_name(selector_value)elif selector_by == "x" or selector_by == 'xpath':element = self.driver.find_element_by_xpath(selector_value)elif selector_by == "s" or selector_by == 'selector_selector':element = self.driver.find_element_by_css_selector(selector_value)else:raise NameError("Please enter a valid type of targeting elements.")return elementdef type(self, selector, text):"""Operation input box.Usage:driver.type("i,el","selenium")"""el = self.getElement(selector)el.clear()el.send_keys(text)

以上的代碼是封裝了find_element_by_的幾種方法,在具體使用封裝過的代碼的時候,只需要簡單的調用即可。

調用示例

def login(self, userName, password): self.openPage(self.loginPageUrl) # self.driver.clearCookies() self.driver.implicitlyWait(5) self.driver.type("account", userName) self.driver.type("password", password) self.driver.click("submit")

自動化的測試代碼示例

def test_ranzhi_login(self): """ 測試用例:測試然之登錄 :return: """ # 新建然之的頁面對象 loginPage = RanzhiSubLoginPage(self.autoDriver, self.baseUrl) # 利用然之的頁面對象進行登錄 loginPage.login("admin", "admin") sleep(2) # 斷言 是否登錄成功 self.assertEqual(loginPage.getMainPage(), self.autoDriver.getUrl(), u"登錄失敗") 與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的python selenium webdriver方法封装(find_element_by)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。