TungNT (Blue)

tungnt.blue@gmail.com

User Tools

Site Tools


development:python:selemium

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
development:python:selemium [2024/08/15 15:32] tungntdevelopment:python:selemium [2024/08/15 15:40] (current) tungnt
Line 1: Line 1:
-====== Selemium ======+====== Một số function hay dùng ======          
 + 
 +===== Chờ 1 ID load xong ===== 
 + 
 + 
 +<file python> 
 +WebDriverWait(driver, 120).until( 
 +    EC.presence_of_element_located((By.ID, "page-loader")) 
 +
 +</file> 
 + 
 +===== Kiểm tra element có text tương ứng không ===== 
 + 
 +<file python> 
 + 
 +WebDriverWait(driver, 60).until( 
 +    EC.text_to_be_present_in_element((By.XPATH, '//*[@id="grid"]/div[2]/table/tbody/tr[21]/td[2]'), 'TEXT_MATCH'))   
 +</file>   
 + 
 +===== Chờ một overload xong và ẩn đi ===== 
 + 
 +<file python> 
 +WebDriverWait(driver, 60).until( 
 +    EC.invisibility_of_element_located((By.ID, 'spinner-loading')) 
 +
 +</file>             
 + 
 +===== Chạy Javascript ===== 
 + 
 +<file python> 
 +driver.execute_script(''' 
 +    var fDate = $("#ctl00_Content_TransactionDetail_TxtFromDate").val(); 
 +    var tDate = $("#ctl00_Content_TransactionDetail_TxtToDate").val(); 
 +    getTranHisData($("#ctl00_Content_TransactionDetail_ListAccounts").val(), fDate, tDate);            
 +'''  
 +</file>   
 + 
 +<file python> 
 +driver.execute_script(''' 
 +    var c = document.createElement('canvas'); 
 +    var img = document.getElementById('ctl00_Content_Login_Captcha_Captcha'); 
 +    c.height = img.naturalHeight; 
 +    c.width = img.naturalWidth; 
 +    var ctx = c.getContext('2d'); 
 +    ctx.drawImage(img, 0, 0, c.width, c.height); 
 +    var base64String = c.toDataURL(); 
 +    var c_detect = document.createElement('div');  
 +    c_detect.setAttribute("id", "c_detect"); 
 +    c_detect.innerHTML = base64String;  
 +    document.body.appendChild(c_detect);              
 +'''
 +</file> 
 + 
 +===== Lấy element có thể click được ===== 
 + 
 +<file python> 
 +element = WebDriverWait(driver, 60).until( 
 +    EC.element_to_be_clickable((By.XPATH, '//*[@id="ctl00_mainContainer_ctl00_btnFilterStmt"]')) 
 +
 + 
 +element.click() 
 +</file> 
 + 
 +====== Ví dụ ======
  
 **Thư viện:** **Thư viện:**
Line 355: Line 418:
         driver.close()         driver.close()
         driver.quit()              driver.quit()     
-</file>              +</file>     
  
-**Chờ 1 ID load xong:** 
  
-<file python> 
-WebDriverWait(driver, 120).until( 
-    EC.presence_of_element_located((By.ID, "page-loader")) 
-) 
-</file> 
- 
-Kiểm tra element có text tương ứng không: 
- 
-<file python> 
- 
-WebDriverWait(driver, 60).until( 
-    EC.text_to_be_present_in_element((By.XPATH, '//*[@id="grid"]/div[2]/table/tbody/tr[21]/td[2]'), 'TEXT_MATCH'))   
-</file>     
                  
development/python/selemium.1723735923.txt.gz · Last modified: 2024/08/15 15:32 by tungnt

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki