您好,登錄后才能下訂單哦!
怎么在python-web中根據元素屬性進行定位?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
1. 根據屬性ID值進行定位
def test_find_element_by_id(self): # 定位搜索文本框 search_input = self.driver.find_element_by_id("kw") # 輸入關鍵字 search_input.send_keys("馬云") # 定位搜索按鈕 search_button = self.driver.find_element_by_id("su") # 點擊搜索按鈕 search_button.click() # 喘口氣 time.sleep(2) # 斷言結果 actual_result = self.driver.page_source expect_result = "馬云" self.assertIn(expect_result, actual_result)
2. 根據屬性CLASS值進行定位
def test_find_element_by_class_name(self): # 定位搜索文本框 search_input = self.driver.find_element_by_class_name("s_ipt") # 輸入關鍵字 search_input.send_keys("奧巴馬") # 定位搜索按鈕 search_button = self.driver.find_element_by_id("su") # 點擊搜索按鈕 search_button.click() # 喘口氣 time.sleep(2) # 斷言結果 actual_result = self.driver.page_source expect_result = "奧巴馬" self.assertIn(expect_result, actual_result)
3. 根據屬性NAME值進行定位
def test_find_element_by_name(self): # 定位搜索文本框 search_input = self.driver.find_element_by_name("wd") # 輸入關鍵字 search_input.send_keys("特朗普") # 定位搜索按鈕 search_button = self.driver.find_element_by_id("su") # 點擊搜索按鈕 search_button.click() # 喘口氣 time.sleep(2) # 斷言結果 actual_result = self.driver.page_source expect_result = "特朗普" self.assertIn(expect_result, actual_result)
4. 根據標簽名稱進行定位
5. 根據鏈接全部內容進行定位
6. 根據鏈接部分內容進行定位
def test_find_element_by_tag_name(self): # 定位搜索文本框 search_input = self.driver.find_element_by_class_name("s_ipt") # 輸入關鍵字 search_input.send_keys("馬化騰") # 定位搜索按鈕 search_button = self.driver.find_element_by_id("su") # 點擊搜索按鈕 search_button.click() # 喘口氣 time.sleep(2) # 獲取頁面的返回結果 # tag_names = self.driver.find_elements_by_tag_name("h4") # for tag_name in tag_names: # print(tag_name.text) # # 通過鏈接的文本信息進行定位 # link_text = self.driver.find_element_by_link_text(tag_name.text) # # 對百度的結果依次進行點擊 # link_text.click() # 根據部分鏈接文字進行定位 pony_infos = self.driver.find_elements_by_partial_link_text("馬化騰") for pony_info in pony_infos: # 依次打印每個元素的文本信息 print(pony_info.text) # 斷言結果 actual_result = self.driver.page_source expect_result = "馬化騰" self.assertIn(expect_result, actual_result)
7. 根據xpath進行定位
def test_find_element_by_xpath(self): # 找到搜索輸入框 # search_input = self.driver.find_element_by_xpath('/html/body/div[@id="wrapper"]/div[@id="head"]/div[@class="head_wrapper"]/div[@class="s_form"]/div[@class="s_form_wrapper soutu-env-nomac soutu-env-index"]/form[@class="fm"][@id="form"]/span[@class="bg s_ipt_wr quickdelete-wrap"]/input[@id="kw"][@class="a_ipt"]') search_input = self.driver.find_element_by_xpath('//*[@id="kw"]') # 輸入關鍵字 search_input.send_keys("天黑請閉眼") # 找到搜索按鈕 # search_button = self.driver.find_element_by_xpath('/html/body/div[@id="wrapper"]/div[@id="head"]/div[@class="head_wrapper"]/div[@class="s_form"]/div[@class="s_form_wrapper soutu-env-nomac soutu-env-index"]/form[@class="fm"][@id="form"]/span[@class="bg s_btn_wr"/input[@id="su"][@class="bg s_btn"]') search_button = self.driver.find_element_by_xpath('//*[@id="su"]') # 點擊搜素按鈕 search_button.click() # 喘口氣 time.sleep(1) # 斷言結果 expect_value = "天黑請閉眼" actual_value = self.driver.page_source self.assertIn(expect_value,actual_value)
8. 根據css選擇器進行定位
def test_find_element_by_css_selector(self): # search_input = self.driver.find_element_by_css_selector("#kw") search_input = self.driver.find_element_by_css_selector("input#kw") search_input.send_keys("狼人殺") search_button = self.driver.find_element_by_css_selector("input.bg.s_btn") search_button.click() # 喘口氣 time.sleep(1) # 斷言結果 expect_value = "狼人殺" actual_value = self.driver.page_source self.assertIn(expect_value, actual_value)
Python主要應用于:1、Web開發;2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發;5、游戲開發;6、桌面應用開發。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。