WEB 自動化

靈、所需工具/環境:

    seleuium

    chromedriver

    python

 

一、定位元素

二、打開/登陸網頁/填寫表單

三、讀取excel表格數據/文本

 

一、定位元素

  1,通過id定位元素 find_element_by_id("id_vaule")

     2,通過name定位元素 find_element_by_name("name_vaule")

  3,通過tag_name定位元素 find_element_by_tag_name("tag_name_vaule")

        4,通過class_name定位元素 find_element_by_class_name("class_name_vaule")

        5,通過css定位元素 find_element_by_css_selector()

        6,通過xpath定位元素 find_element_by_xpath("xpath")

   7,通過link定位元素 find_element_by_link_text("text_vaule")

   8,通過partial_link定位元素 find_element_by_partial_link_text(self, link_text)

      以上爲常見定位元素方法。

 

二、打開/登陸網頁/填寫表單

  1,打開網頁

    

# -*- coding:utf-8 -*-
import os
from selenium import webdriver

def web_open():
    driver = webdriver.Chrome("C:\Google Chrome\chromedriver.exe")  # chromedriver所在路径
    driver.get(r"http://www.baidu.com") 
    
    
    
if __name__ == "__main__":
    web_open()
    os.system("pause")
    

  2,登陸網頁/填寫表單

 

 1 def web_login():
 2     driver = webdriver.Chrome("C:\Google Chrome\chromedriver.exe")  
 3     driver.get(r"http://www.xxx.com") #打開登陸頁面
 4     
 5     driver.find_element_by_id("user").send_keys("user_name") #輸入id,輸入用戶名
 6     driver.find_element_by_id("passwd").send_keys("user_passwd") #輸入passwd,輸入用戶名密碼
 7     river.find_element_by_id("login").click() #點擊登陸button
 8  
9
if __name__ == "__main__": 10 web_login()
11 os.system("pause")

 

     3,登陸過程中彈窗處理

  

1 alert = driver.switch_to.alert
2 alert.accept()#接受彈窗

  

  4,延時函數\等待網頁加載

 

1 time.sleep(1)

 

三、讀取excel表格數據/文本

  

 1 # coding=utf-8
 2 import importlib
 3 import time
 4 import sys
 5 
 6 data = xlrd.open_workbook(c:/Users/Hello/Desktop/name.xlsx)# 打开文件
 7 data.sheet_names()
 8 print("sheets:" + str(data.sheet_names()))
 9 table = data.sheet_by_name(sheet1)# 讀取工作表sheet1
10 
11 print("总行数:" + str(table.nrows))
12 print("总列数:" + str(table.ncols))
13 
14 i_row=0 #起始行
15 i_col=0 #起始列
16 while i_row<300:
17 # 讀取第i_col=0列,第i_row<300行的數據,並諸條打印出來
18         cel_value = table.cell(i_row,i_col).value
19         name_row = table.cell(0,0).value
20         print("第 %d 行 %s %s" % (int(i_row),name_row,cel_value))
21         i_row=i_row+1

 

WEB 自動化

上一篇:HTTP 常用状态码200 301 302 403 500


下一篇:asp.net core监控—引入Prometheus(六)