Chủ đề chromedriver 112: ChromeDriver 112 là công cụ không thể thiếu cho các nhà phát triển web sử dụng Selenium để tự động hóa trình duyệt Chrome. Bài viết này sẽ cung cấp hướng dẫn chi tiết về cách cài đặt, sử dụng ChromeDriver 112 hiệu quả, và giải quyết các vấn đề thường gặp. Khám phá cách tối ưu hóa công việc của bạn với ChromeDriver phiên bản mới nhất ngay hôm nay!
Mục lục
- Thông tin về ChromeDriver 112
- 1. Giới thiệu về ChromeDriver 112
- 2. Cách tải xuống và cài đặt ChromeDriver 112
- 3. Cách sử dụng ChromeDriver 112 với Selenium
- 4. Cách cập nhật ChromeDriver 112 để tránh lỗi tương thích
- 5. Những cải tiến và tính năng mới trong ChromeDriver 112
- 6. Các vấn đề thường gặp và cách khắc phục khi sử dụng ChromeDriver 112
- 7. Hướng dẫn tối ưu hóa quy trình tự động hóa với ChromeDriver 112
- 8. Kết luận
Thông tin về ChromeDriver 112
ChromeDriver là một công cụ cần thiết cho việc tự động hóa các tác vụ trên trình duyệt Chrome thông qua Selenium WebDriver. Phiên bản ChromeDriver 112 tương thích với phiên bản trình duyệt Google Chrome 112, đảm bảo các thử nghiệm và quy trình tự động hóa diễn ra mượt mà.
Tính năng nổi bật của ChromeDriver 112
- Hỗ trợ đầy đủ cho Chrome phiên bản 112.
- Cải thiện hiệu suất và ổn định trong việc xử lý các kịch bản tự động hóa.
- Khắc phục nhiều lỗi bảo mật và hiệu suất so với các phiên bản trước.
Cách cài đặt và sử dụng ChromeDriver 112
- Tải xuống phiên bản ChromeDriver 112 từ trang web chính thức của Google hoặc kho lưu trữ GitHub.
- Giải nén tập tin và đặt nó vào thư mục phù hợp trong dự án của bạn.
- Cấu hình biến môi trường để trình điều khiển có thể được truy cập từ bất kỳ đâu trong hệ thống của bạn.
- Tích hợp với Selenium WebDriver trong các ngôn ngữ lập trình như Java, Python, hoặc C# để bắt đầu tự động hóa.
Hướng dẫn cài đặt bằng lệnh
Ví dụ về lệnh cấu hình cho Java:
Đối với Python, bạn có thể sử dụng:
Các vấn đề thường gặp và cách khắc phục
Một số người dùng có thể gặp phải lỗi tương thích giữa ChromeDriver và phiên bản trình duyệt. Để khắc phục, hãy đảm bảo bạn đang sử dụng đúng phiên bản ChromeDriver tương ứng với phiên bản Chrome đang cài đặt.
Tài nguyên hữu ích
Kết luận
ChromeDriver 112 là một công cụ mạnh mẽ cho các nhà phát triển và kỹ sư QA khi làm việc với các dự án tự động hóa trên Chrome. Việc nắm vững cách cài đặt và sử dụng nó sẽ giúp bạn tối ưu hóa quá trình thử nghiệm và đảm bảo tính ổn định của ứng dụng web.

1. Giới thiệu về ChromeDriver 112
ChromeDriver 112 là một phiên bản mới của công cụ hỗ trợ tự động hóa kiểm thử trình duyệt Chrome, được sử dụng rộng rãi trong các dự án Selenium. ChromeDriver là một phần của giao thức WebDriver, cung cấp khả năng điều khiển trình duyệt một cách tự động thông qua mã lệnh. Phiên bản 112 được phát hành nhằm cải thiện tính ổn định và tương thích với các phiên bản Chrome mới nhất.
- Tương thích với Selenium: ChromeDriver 112 đảm bảo tương thích hoàn toàn với Selenium WebDriver, hỗ trợ đầy đủ các lệnh API cần thiết cho việc kiểm thử tự động hóa.
- Tính năng mới và sửa lỗi: Phiên bản 112 bao gồm các cải tiến về hiệu suất, sửa lỗi bảo mật và tăng cường độ ổn định, giúp đảm bảo các bài kiểm thử chạy mượt mà hơn.
- Hỗ trợ đa nền tảng: ChromeDriver 112 có thể được cài đặt và sử dụng trên nhiều hệ điều hành khác nhau như Windows, MacOS, và Linux.
- Định kỳ cập nhật: Việc cập nhật định kỳ ChromeDriver giúp duy trì tính ổn định và hiệu suất cao nhất cho các dự án kiểm thử, đồng thời giảm thiểu các lỗi phát sinh do không tương thích giữa các phiên bản Chrome và ChromeDriver.
Với ChromeDriver 112, các nhà phát triển có thể dễ dàng quản lý và thực thi các bài kiểm thử tự động hóa trên nền tảng Chrome, từ đó nâng cao chất lượng và tốc độ phát triển phần mềm. Để tận dụng tối đa lợi ích của ChromeDriver 112, việc cài đặt và cấu hình chính xác là rất quan trọng. Người dùng cần đảm bảo rằng phiên bản ChromeDriver tương thích với phiên bản trình duyệt Chrome đang sử dụng, và việc này có thể được kiểm tra thông qua trang web chính thức của ChromeDriver.
2. Cách tải xuống và cài đặt ChromeDriver 112
Việc tải xuống và cài đặt ChromeDriver 112 là bước quan trọng để thực hiện tự động hóa kiểm thử trên trình duyệt Chrome. Dưới đây là các bước chi tiết để tải xuống và cài đặt ChromeDriver 112 cho hệ điều hành của bạn.
- Kiểm tra phiên bản Chrome của bạn:
- Mở trình duyệt Chrome và nhấp vào biểu tượng ba chấm dọc ở góc trên cùng bên phải.
- Chọn "Help" và sau đó "About Google Chrome". Phiên bản Chrome hiện tại của bạn sẽ được hiển thị.
- Tải xuống ChromeDriver 112:
- Truy cập trang web chính thức của ChromeDriver tại .
- Tìm và tải xuống phiên bản ChromeDriver 112 tương ứng với hệ điều hành của bạn (Windows, MacOS, hoặc Linux).
- Giải nén tệp đã tải xuống nếu cần.
- Thiết lập ChromeDriver trên hệ thống của bạn:
- Đối với Windows:
- Đặt tệp
chromedriver.exevào một thư mục dễ tìm trên máy tính. - Thêm đường dẫn của thư mục này vào biến môi trường
PATHcủa hệ thống bằng cách chỉnh sửa "Environment Variables".
- Đặt tệp
- Đối với MacOS:
- Mở Terminal và thêm đường dẫn của
chromedrivervào cuối tệp/etc/paths.
- Mở Terminal và thêm đường dẫn của
- Đối với Linux:
- Sao chép tệp
chromedrivervào thư mục/usr/local/binvà đảm bảo nó có quyền thực thi bằng lệnhchmod +x chromedriver.
- Sao chép tệp
- Đối với Windows:
- Kiểm tra cài đặt:
- Mở Terminal hoặc Command Prompt.
- Gõ lệnh
chromedriver --versionđể kiểm tra xem ChromeDriver đã được cài đặt thành công hay chưa.
Sau khi cài đặt xong, bạn có thể sử dụng ChromeDriver 112 để thực hiện các bài kiểm thử tự động với Selenium trên trình duyệt Chrome. Hãy chắc chắn cập nhật cả Chrome và ChromeDriver để đảm bảo tính tương thích và hiệu quả cao nhất.
3. Cách sử dụng ChromeDriver 112 với Selenium
ChromeDriver 112 là công cụ cần thiết để tương tác với trình duyệt Google Chrome thông qua Selenium, giúp tự động hóa các tác vụ trên trình duyệt. Để sử dụng ChromeDriver 112 với Selenium, bạn cần thực hiện các bước cài đặt và cấu hình đúng cách để đảm bảo việc tự động hóa diễn ra mượt mà. Dưới đây là hướng dẫn chi tiết từng bước:
- Cài đặt Selenium và ChromeDriver:
- Trước tiên, bạn cần cài đặt thư viện Selenium cho Python bằng lệnh:
pip install selenium. - Tải xuống ChromeDriver 112 tương ứng với phiên bản Chrome mà bạn đang sử dụng từ .
- Giải nén file ChromeDriver và lưu lại đường dẫn nơi chứa file đó.
- Trước tiên, bạn cần cài đặt thư viện Selenium cho Python bằng lệnh:
- Thiết lập môi trường lập trình:
- Mở IDE Python (như PyCharm, VSCode) và tạo một file Python mới.
- Import các thư viện cần thiết:
from selenium import webdriver from selenium.webdriver.common.by import By
- Khởi tạo ChromeDriver và mở trình duyệt:
Sau khi cài đặt, bạn có thể khởi tạo ChromeDriver và mở trình duyệt bằng đoạn mã sau:
driver = webdriver.Chrome(executable_path="C:/path/to/chromedriver.exe") driver.get("https://www.example.com")Thay
"C:/path/to/chromedriver.exe"bằng đường dẫn đến ChromeDriver của bạn. - Tương tác với trang web:
Bạn có thể thực hiện các hành động như nhấp chuột, điền thông tin, và lấy dữ liệu bằng Selenium. Ví dụ, để nhấp vào một nút, sử dụng mã:
element = driver.find_element(By.ID, "buttonID") element.click()Thay
"buttonID"bằng ID thực tế của phần tử trên trang web. - Đóng trình duyệt:
Sau khi hoàn thành các tác vụ, đóng trình duyệt bằng lệnh:
driver.quit()
Với những bước trên, bạn đã có thể sử dụng ChromeDriver 112 với Selenium để tự động hóa các tác vụ trên trình duyệt Google Chrome một cách hiệu quả.

4. Cách cập nhật ChromeDriver 112 để tránh lỗi tương thích
Việc cập nhật ChromeDriver 112 là cần thiết để đảm bảo sự tương thích tốt nhất giữa ChromeDriver và phiên bản trình duyệt Chrome hiện tại. Dưới đây là các bước chi tiết để cập nhật ChromeDriver và tránh các lỗi tương thích phổ biến:
-
Kiểm tra phiên bản Chrome hiện tại:
Mở trình duyệt Chrome và nhập
chrome://versionvào thanh địa chỉ. Kiểm tra số phiên bản của Chrome để biết phiên bản nào đang được sử dụng. -
Truy cập trang tải xuống ChromeDriver:
Truy cập trang web chính thức của ChromeDriver và tìm phần Downloads. Tại đây, bạn sẽ thấy các phiên bản ChromeDriver tương thích với các phiên bản Chrome cụ thể.
-
Tải xuống phiên bản ChromeDriver phù hợp:
Chọn phiên bản ChromeDriver 112 hoặc phiên bản tương thích với phiên bản Chrome bạn đang sử dụng. Tải xuống tệp tin nén và giải nén nó vào một thư mục trên máy tính của bạn.
-
Thay thế ChromeDriver cũ:
Đi tới thư mục chứa ChromeDriver cũ (thường nằm trong đường dẫn của dự án Selenium hoặc trong hệ thống PATH), sau đó thay thế nó bằng phiên bản mới đã tải xuống.
-
Cập nhật đường dẫn ChromeDriver (nếu cần):
Đảm bảo rằng đường dẫn tới ChromeDriver mới được thiết lập đúng trong biến môi trường
PATHhoặc trực tiếp trong mã nguồn của bạn. Bạn có thể sử dụng lệnhSystem.setProperty("webdriver.chrome.driver", "/path/to/chromedriver")trong Java hoặc thiết lập tương tự trong các ngôn ngữ lập trình khác. -
Kiểm tra tính tương thích:
Sau khi cập nhật ChromeDriver, hãy chạy một số bài kiểm thử nhỏ để đảm bảo rằng ChromeDriver mới hoạt động ổn định với phiên bản Chrome hiện tại. Nếu gặp lỗi, kiểm tra lại phiên bản hoặc các thiết lập khác.
Bằng cách tuân thủ các bước trên, bạn sẽ đảm bảo rằng ChromeDriver luôn tương thích với phiên bản Chrome mới nhất, giúp tăng cường hiệu suất và độ ổn định của quá trình kiểm thử tự động hóa của bạn.
- Mẹo bổ sung: Sử dụng các công cụ như WebDriverManager để tự động kiểm tra và cập nhật ChromeDriver, giảm thiểu rủi ro về lỗi phiên bản và giúp tối ưu hóa quá trình làm việc.
5. Những cải tiến và tính năng mới trong ChromeDriver 112
ChromeDriver 112 đã mang đến nhiều cải tiến quan trọng nhằm nâng cao hiệu suất và trải nghiệm người dùng khi tự động hóa với Selenium. Phiên bản này không chỉ cải thiện tính tương thích mà còn bổ sung một số tính năng mới giúp cho quá trình kiểm thử và phát triển phần mềm trở nên mượt mà hơn.
- Tính tương thích cao hơn: ChromeDriver 112 được tối ưu hóa để hoạt động tốt hơn với các phiên bản mới nhất của trình duyệt Chrome, giảm thiểu các vấn đề tương thích có thể gặp phải trong quá trình tự động hóa.
- Cải thiện hiệu suất: Phiên bản này giúp giảm thời gian tải và phản hồi khi thực thi các kịch bản kiểm thử, mang lại trải nghiệm mượt mà hơn và giảm thiểu thời gian chờ đợi.
- Hỗ trợ WebDriver BiDi: ChromeDriver 112 bắt đầu tích hợp hỗ trợ cho WebDriver BiDi (Bidirectional), một giao thức mới kết hợp giữa WebDriver Classic và Chrome DevTools Protocol (CDP). Điều này giúp tăng cường khả năng tương tác và kiểm soát quá trình tự động hóa của người dùng.
- Khả năng quản lý phiên bản tự động: Với sự hỗ trợ từ các công cụ như
webdriver_manager, việc cập nhật và duy trì ChromeDriver phiên bản mới nhất trở nên dễ dàng và tự động hơn, giúp giảm thiểu công sức quản lý thủ công và đảm bảo luôn sử dụng phiên bản tương thích với trình duyệt Chrome. - Tính năng bảo mật nâng cao: ChromeDriver 112 đi kèm với nhiều bản vá lỗi và cải thiện bảo mật, giúp giảm thiểu nguy cơ bị tấn công từ các lỗ hổng bảo mật trong các phiên bản trước.
Những cải tiến này giúp ChromeDriver 112 trở thành lựa chọn ưu việt cho các dự án tự động hóa kiểm thử web, đặc biệt là khi kết hợp với Selenium WebDriver. Với sự cải thiện về hiệu suất, tính tương thích, và bảo mật, phiên bản này đáp ứng tốt hơn nhu cầu của các nhà phát triển và kiểm thử trong môi trường phát triển hiện đại.
XEM THÊM:
6. Các vấn đề thường gặp và cách khắc phục khi sử dụng ChromeDriver 112
Khi sử dụng ChromeDriver 112 với Selenium, có thể gặp phải một số lỗi phổ biến liên quan đến phiên bản trình duyệt, cấu hình môi trường, và cách khởi tạo ChromeDriver. Dưới đây là các vấn đề thường gặp và cách khắc phục chi tiết để giúp bạn xử lý chúng một cách hiệu quả:
6.1. Lỗi "SessionNotCreated" do không tương thích phiên bản
Một trong những lỗi phổ biến là lỗi "SessionNotCreated", thường xảy ra khi phiên bản ChromeDriver không tương thích với phiên bản Chrome trên máy tính.
- Nguyên nhân: Phiên bản ChromeDriver chỉ hỗ trợ một số phiên bản cụ thể của trình duyệt Chrome.
- Cách khắc phục: Kiểm tra phiên bản trình duyệt Chrome đang sử dụng và tải về phiên bản ChromeDriver tương thích từ trang . Đảm bảo phiên bản được tải xuống khớp với phiên bản Chrome đang sử dụng.
6.2. Lỗi "WebDriverError: unable to connect to chromedriver"
Đây là lỗi thường gặp khi không thể khởi tạo kết nối với ChromeDriver.
- Nguyên nhân: Lỗi cấu hình hoặc môi trường như quyền truy cập không đầy đủ, phiên bản ChromeDriver hoặc Chrome bị hỏng, hoặc các tệp thư viện bị thiếu.
- Cách khắc phục:
- Kiểm tra đường dẫn cài đặt của ChromeDriver và đảm bảo rằng ChromeDriver có quyền thực thi trên hệ thống.
- Thử khởi động ChromeDriver và Chrome từ terminal để kiểm tra xem có lỗi xảy ra không.
- Nếu sử dụng Ruby on Rails, kiểm tra lại file cấu hình Selenium và đảm bảo các tùy chọn đã được cài đặt đúng cách.
6.3. Vấn đề cấu hình proxy và chế độ "Headless"
Nhiều người dùng gặp khó khăn khi cấu hình proxy hoặc sử dụng ChromeDriver trong chế độ "headless" (không hiển thị giao diện).
- Nguyên nhân: Cấu hình không đúng các tham số cho proxy hoặc tùy chọn "headless" trong Selenium.
- Cách khắc phục:
- Sử dụng các tùy chọn ChromeDriver trong Selenium để định cấu hình proxy và chế độ "headless".
- Đảm bảo proxy đã được thiết lập đúng và thử chạy lại ứng dụng để kiểm tra.
6.4. Lỗi khác liên quan đến đường dẫn thư viện và biến môi trường
Đôi khi, lỗi có thể phát sinh do các vấn đề liên quan đến đường dẫn thư viện và biến môi trường hệ thống.
- Nguyên nhân: Các biến môi trường như
PATHkhông được cấu hình chính xác để nhận diện ChromeDriver hoặc Chrome. - Cách khắc phục:
- Kiểm tra biến môi trường
PATHđể đảm bảo đường dẫn của ChromeDriver đã được thêm vào. - Sử dụng lệnh
echo $PATHtrên Linux hoặcecho %PATH%trên Windows để xem xét cấu hình hiện tại. - Cập nhật biến môi trường nếu cần thiết và thử lại.
- Kiểm tra biến môi trường
7. Hướng dẫn tối ưu hóa quy trình tự động hóa với ChromeDriver 112
Để tối ưu hóa quy trình tự động hóa của bạn khi sử dụng ChromeDriver 112 cùng Selenium, bạn cần thực hiện một số bước thiết lập và kỹ thuật nhằm đảm bảo hiệu suất tốt nhất. Dưới đây là các bước chi tiết để tối ưu hóa quá trình tự động hóa của bạn:
-
Cấu hình môi trường và ChromeDriver:
- Cập nhật ChromeDriver lên phiên bản mới nhất tương thích với phiên bản Chrome của bạn để tránh các lỗi không mong muốn.
- Đảm bảo ChromeDriver được thêm vào biến môi trường
PATHđể có thể truy cập từ bất kỳ vị trí nào trên dòng lệnh. - Sử dụng
System.setPropertyhoặc đối tượng tương tự trong các ngôn ngữ lập trình khác nhau (Java, Python, C#) để xác định đường dẫn tới ChromeDriver trong mã nguồn.
-
Tối ưu hóa cấu hình Selenium WebDriver:
- Sử dụng các tùy chọn cấu hình như khởi động trình duyệt ở chế độ ẩn danh (
incognito), tùy chỉnh kích thước cửa sổ, hoặc vô hiệu hóa các tiện ích mở rộng không cần thiết để giảm thiểu việc tiêu thụ tài nguyên. - Đặt thời gian chờ hợp lý cho các lệnh như
implicitlyWait(),explicitWait(), vàpageLoadTimeout()để giảm thời gian chờ đợi không cần thiết và tối ưu hóa thời gian chạy. - Sử dụng
ChromeOptionsđể tùy chỉnh cài đặt trình duyệt như vô hiệu hóa pop-up, bật/tắt chế độ đầu debug, hoặc vô hiệu hóa đồ họa để tăng tốc độ.
- Sử dụng các tùy chọn cấu hình như khởi động trình duyệt ở chế độ ẩn danh (
-
Quản lý vòng đời của ChromeDriver:
- Sử dụng
ChromeDriverServiceđể khởi động và dừng ChromeDriver server một cách chủ động, giảm thiểu tài nguyên sử dụng và kiểm soát thời gian tồn tại của các quá trình. - Có thể khởi động ChromeDriver server một cách độc lập trước khi chạy các bài kiểm thử và kết nối tới nó sử dụng WebDriver từ xa. Điều này giúp tăng tốc độ và giảm thiểu độ trễ.
- Sử dụng
-
Sử dụng Chrome DevTools Protocol (CDP):
- CDP cho phép bạn mô phỏng điều kiện mạng kém, giả lập vị trí địa lý, hoặc kiểm tra trên các thiết bị di động. Tính năng này giúp cải thiện tính toàn diện của các bài kiểm thử tự động.
- Có thể dùng CDP để truy cập sâu hơn vào các khả năng của trình duyệt, giúp bạn kiểm soát và tối ưu hóa hiệu suất trình duyệt một cách linh hoạt hơn.
-
Áp dụng các kỹ thuật song song và phân phối:
- Sử dụng Selenium Grid để thực hiện các bài kiểm thử song song trên nhiều môi trường khác nhau, từ đó tối ưu hóa thời gian thực thi và tận dụng tài nguyên tốt hơn.
- Áp dụng kỹ thuật containerization với Docker hoặc Kubernetes để quản lý môi trường kiểm thử và dễ dàng tích hợp vào CI/CD pipeline.
Bằng cách tuân theo các hướng dẫn và mẹo tối ưu hóa trên, bạn sẽ có thể tạo ra một quy trình tự động hóa linh hoạt, hiệu quả và đáng tin cậy khi làm việc với ChromeDriver 112 và Selenium.
8. Kết luận
ChromeDriver 112 là một công cụ quan trọng cho những ai làm việc với Selenium để thực hiện tự động hóa kiểm thử trình duyệt. Phiên bản này không chỉ cung cấp những cải tiến về hiệu suất mà còn tăng cường tính ổn định và khả năng tương thích với các phiên bản mới của Google Chrome. Để tối ưu hóa việc sử dụng ChromeDriver 112, việc hiểu rõ cách cài đặt, sử dụng, cập nhật và xử lý các vấn đề thường gặp là điều cần thiết.
Trong suốt bài viết này, chúng ta đã thảo luận về cách tải xuống và cài đặt ChromeDriver 112, sử dụng nó với Selenium, và cách tối ưu hóa quy trình tự động hóa để đạt hiệu quả cao nhất. Bên cạnh đó, các hướng dẫn về việc cập nhật phiên bản để tránh lỗi tương thích và những cải tiến mới của ChromeDriver 112 cũng đã được phân tích chi tiết.
Nhìn chung, việc sử dụng ChromeDriver 112 một cách hiệu quả sẽ giúp tối ưu hóa quy trình tự động hóa của bạn, tiết kiệm thời gian và công sức, đồng thời nâng cao chất lượng kiểm thử ứng dụng web. Với sự kết hợp giữa kỹ thuật cấu hình tối ưu và các công cụ hỗ trợ hiện đại, bạn có thể đạt được một hệ thống kiểm thử tự động hóa mạnh mẽ và đáng tin cậy.
Hãy tiếp tục theo dõi các phiên bản cập nhật và hướng dẫn mới nhất để duy trì sự hiệu quả trong công việc của bạn. Chúc bạn thành công trong việc xây dựng và triển khai các giải pháp tự động hóa kiểm thử chất lượng cao với ChromeDriver 112!


:max_bytes(150000):strip_icc()/A2-CheckWhatVersionofChromeYouHave-annotated-f43c6e8eb4c142f28340b5d9a900a795.jpg)


















Blender Room - Cách Tạo Không Gian 3D Tuyệt Đẹp Bằng Blender
Setting V-Ray 5 Cho 3ds Max: Hướng Dẫn Tối Ưu Hiệu Quả Render
D5 Converter 3ds Max: Hướng Dẫn Chi Tiết Và Các Tính Năng Nổi Bật
Xóa Lịch Sử Chrome Trên Máy Tính: Hướng Dẫn Chi Tiết Và Hiệu Quả
VLC Media Player Android: Hướng Dẫn Chi Tiết và Tính Năng Nổi Bật
Chuyển File Canva Sang AI: Hướng Dẫn Nhanh Chóng và Đơn Giản Cho Người Mới Bắt Đầu
Chuyển từ Canva sang PowerPoint - Hướng dẫn chi tiết và hiệu quả
Ghi Âm Zoom Trên Máy Tính: Hướng Dẫn Chi Tiết và Mẹo Hữu Ích
"Notion có tiếng Việt không?" - Hướng dẫn thiết lập và lợi ích khi sử dụng
Facebook No Ads XDA - Trải Nghiệm Không Quảng Cáo Đáng Thử
Ký Hiệu Trên Bản Vẽ AutoCAD: Hướng Dẫn Toàn Diện và Thực Hành
Tổng hợp lisp phục vụ bóc tách khối lượng xây dựng
Chỉnh kích thước số dim trong cad – cách đơn giản nhất 2024