Selenium常用方法及函數、txt參數化


常用方法及函數:

1.表單的提交
方法:submit
解釋:查找到表單(from)直接調用submit即可
實例:driver.find_element_by_id("form1").submit()

2.獲取CSS的屬性值
方法:value_of_css_property(css_name)
實例:driver.find_element_by_css_selector("input.btn").value_of_css_property("input.btn")

3.獲取元素的屬性值(一組元素中非常實用)
方法:get_attribute(element_name)
實例:driver.find_element_by_id("sellaiyuan").get_attribute("sellaiyuan")

4.判斷元素是否被選中
方法:is_selected()
實例:driver.find_element_by_id("form1").is_selected()

5.返回元素的大小
方法:size
實例:driver.find_element_by_id("iptPassword").size
返回值:{'width': 250, 'height': 30}

6.判斷元素是否顯示(非常實用)
方法:is_displayed()
實例:driver.find_element_by_id("iptPassword").is_displayed()

7.判斷元素是否被使用
方法:is_enabled()
實例:driver.find_element_by_id("iptPassword").is_enabled()

8.獲取元素的文本值(非常實用)
方法:text
實例:driver.find_element_by_id("iptUsername").text

9.元素賦值
方法:send_keys(*values)
實例:driver.find_element_by_id("iptUsername").send_keys('admin')

10.刪除瀏覽器所有的cookies
方法:delete_all_cookies()
實例:driver.delete_all_cookies()

11.刪除指定的cookie
方法:delete_cookie(name)
實例:deriver.delete_cookie("my_cookie_name")

12.設置等待超時時間,可以在設置的時間內智能等待
方法:implicitly_wait(wait_time)
實例:driver.implicitly_wait(30)

13.查看瀏覽器的名字
方法:name
實例:drvier.name

14.打印title
方法:title
實例:deriver.title

txt參數化:

以百度為例

一、把需要的參數寫在一個txt文檔中進行遍歷,示例如下:

 1 #引入所需包
 2 import time,codecs
 3 from selenium.webdriver.common.by import By
 4 from selenium import webdriver
 5 
 6 #把打開的文檔內容進行utf-8編碼
 7 source = codecs.open("123.txt","r","utf-8")
 8 value = source.readlines()
 9 # print(list(value))
10 
11 #遍歷txt文檔中的內容
12 for search in value:
13     driver = webdriver.Chrome()
14     url = "https://www.baidu.com/"
15     driver.get(url)
16     driver.find_element(By.ID,"kw").send_keys(search)
17     time.sleep(3)
18     driver.find_element(By.ID,"su").click()
19     driver.quit()

 二、把需要的參數寫在一個函數中,需要的時候進行調用,示例如下

函數部分

1 def fun(user="hanxiaobei",pswd="123456"):
2     print(u"調用函數成功")
3     return user,pswd

代碼部分

 1 from selenium.webdriver.common.by import By
 2 from selenium import webdriver
 3 import time
 4 import k1
 5 c2,c3=k1.fun()
 6 # print(k2,k3) #打印是否調用成功
 7 
 8 driver = webdriver.Chrome()
 9 url = "https://www.baidu.com/"
10 driver.get(url)
11 driver.find_element(By.LINK_TEXT,"登錄").click()
12 time.sleep(3)
13 driver.find_element(By.ID,"TANGRAM__PSP_10__userName").send_keys(c2)
14 driver.find_element(By.ID,"TANGRAM__PSP_10__password").send_keys(c3)
15 time.sleep(20)  #由於需要輸入驗證碼,我采用的手動輸入,嘎嘎
16 driver.find_element(By.ID,"TANGRAM__PSP_10__submit").click()
17 time.sleep(5)
18 driver.quit()

三、把需要的參數寫在字典中,需要的時候進行調用,示例如下

字典寫成了一個函數,如下

1 def zidian():
2     data = {"han":"Hanxiaobei","user":123456,"hanxiaobei1":"1234567890"}
3     return data

遍歷字典代碼部分,如下

 1 from selenium.webdriver.common.by import By
 2 from selenium import webdriver
 3 import time
 4 import k1
 5 info=k1.zidian()
 6 # print(info)
 7 for username,passwd in info.items():
 8     print(username)
 9     print(passwd)
10     driver = webdriver.Chrome()
11     url = "https://www.baidu.com/"
12     driver.get(url)
13     driver.find_element(By.LINK_TEXT,"登錄").click()
14     time.sleep(3)
15     driver.find_element(By.ID,"TANGRAM__PSP_10__userName").send_keys(username)
16     driver.find_element(By.ID,"TANGRAM__PSP_10__password").send_keys(passwd)
17     time.sleep(20)
18     driver.find_element(By.ID,"TANGRAM__PSP_10__submit").click()
19     time.sleep(5)
20     driver.quit()


免責聲明!

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



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