1. 程式人生 > 程式設計 >python-web根據元素屬性進行定位的方法

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("h3")
  # 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-web根據元素屬性進行定位的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!