Tải về
Tải về 2 gói .nupkg
là Selenium.WebDriver
và Selenium.Support
từ trang nuget.org lần lượt bên dưới:
1
2
| https://www.nuget.org/packages/Selenium.WebDriver
https://www.nuget.org/packages/Selenium.Support
|
Tiếp theo là ChromeDriver
và GeckoDriver
tùy vào bạn sử dụng trình duyệt Chrome hay Firefox.
1
2
| http://chromedriver.storage.googleapis.com/index.html
https://github.com/mozilla/geckodriver/releases/
|
Nhớ chọn tệp tin .exe
trùng với số hiệu phiên bản của Chrome hoặc Firefox đã được cài đặt.
Cài đặt
Tạo một thư mục trống, ví dụ là SeleniumPowerShellTest
:
1
| D:\SeleniumPowerShellTest
|
Sao chép tệp tin WebDriver.dll
từ thư mục lib
của gói .nupkg
sang thư mục đã tạo. Nếu bạn đã cài .NET có số hiệu phiên bản là 4.0
thì sử dụng tệp tin WebDriver.dll
có trong thư mục 4.0
.
Sao chép tệp tin WebDriver.Support.dll
từ thư mục lib
của gói .nupkg
sang thư mục đã tạo. Nếu bạn đã cài .NET có số hiệu phiên bản là 4.0
thì sử dụng tệp tin WebDriver.Support.dll
có trong thư mục 4.0
.
Di chuyển tệp tin chromedriver.exe
hoặc geckodriver.exe
vào thư mục SeleniumPowerShellTest
tùy vào trường hợp sử dụng trình duyệt Chrome hoặc Firefox. Tạo một tệp tin PowerShell, ví dụ TestSPS.ps1
.
Mở tệp tin TestSPS.ps1
bằng chương trình Windows PowerShell ISE hoặc Notepad++ hoặc Notepad hoặc bất kỳ chương trình hỗ trợ gõ mã nào.
Khai báo
Sau khi mở tệp tin TestSPS.ps1
lên, hãy khái báo (thiết lập môi trường) Selenium trong PowerShell.
Thiết lập cho thư mục SeleniumPowerShellTest
:
1
| $workingPath = 'D:\SeleniumPowerShellTest'
|
Thiết lập môi trường để PowerShell có thể làm việc với Selenium, có 3 kiểu khác nhau, chọn cách nào cũng được:
1
2
| Add-Type -Path "$($workingPath)\WebDriver.dll"
Add-Type -Path "$($workingPath)\WebDriver.Support.dll"
|
1
2
| Import-Module "$($workingPath)\WebDriver.dll"
Import-Module "$($workingPath)\WebDriver.Support.dll"
|
1
2
| [System.Reflection.Assembly]::LoadFrom("$($workingPath)\WebDriver.dll")
[System.Reflection.Assembly]::LoadFrom("$($workingPath)\WebDriver.Support.dll")
|
Tạo tùy chọn
Tùy chọn (options) cho trình duyệt khi cần dùng, không dùng thì không cần thêm vào.
1
| $options = New-Object OpenQA.Selenium.Chrome.ChromeOptions
|
1
| $options = New-Object OpenQA.Selenium.Firefox.FirefoxOptions
|
Tùy chọn không hiển thị giao diện của trình duyệt.
1
| options.addArguments("--headless")
|
Selenium sẽ không chạy trực tiếp trên trình duyệt Chrome hoặc Firefox đã được cài đặt. Vì vậy, cần tạo một phiên bản mới để Selenium làm việc.
1
| $driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($options)
|
1
| $driver = New-Object OpenQA.Selenium.Firefox.FirefoxDriver($options)
|
Khởi tạo Implicit Wait. Ở đây là 29 giây chờ để trang/thành phần/vân vân tải hoàn tất.
1
| $driver.Manage().Timeouts().ImplicitWait = [TimeSpan]::FromSeconds(29)
|
Lệnh Explicit Wait đơn giản, dễ dùng:
Khởi tạo trình duyệt
Để khởi động trình duyệt mới được chạy bởi Selenium thì chỉ cần sử dụng câu lệnh đơn giản:
Nhưng thường được kết hợp bằng cách duyệt tới một địa chỉ cụ thể:
1
| $driver.Navigate().GoToURL('https://vegetaz.github.io')
|
Chạy
Để chạy được tệp tin PowerShell, cần mở PowerShell trong thư mục SeleniumPowerShellTest
, hoặc sử dụng lệnh cd
để đi đến. Gõ như bên dưới và nhấn Enter
là được.
Thoát
Sau khi truy cập đến đường dẫn đã được thiết lập và thực hiện các tệp lệnh đã được khai báo hoàn tất. Có thể tiến hành đóng/tắt/thoát trình duyệt.
Đọc thêm: