Cách lấy URL hiện tại với Selenium

How Get Current Url With Selenium



Selenium là một công cụ để kiểm tra trình duyệt, tự động hóa web và quét web. Trong khi làm việc trên các dự án Selenium, bạn có thể cần biết URL của trang mà trình duyệt web được kiểm soát Selenium của bạn đang hiển thị. Thông tin này có thể hữu ích để theo dõi URL từ nơi bạn đã trích xuất một số dữ liệu để bạn có thể cập nhật dữ liệu tự động bằng cách sử dụng một số tập lệnh.

Trong bài viết này, tôi sẽ chỉ cho bạn cách lấy URL hiện tại của trình duyệt với Selenium. Vậy hãy bắt đầu.







Điều kiện tiên quyết:

Để thử các lệnh và ví dụ của bài viết này, bạn phải có,



1) Bản phân phối Linux (tốt nhất là Ubuntu) được cài đặt trên máy tính của bạn.
2) Đã cài đặt Python 3 trên máy tính của bạn.
3) PIP 3 được cài đặt trên máy tính của bạn.
4) Python virtualenv gói được cài đặt trên máy tính của bạn.
5) Trình duyệt web Mozilla Firefox hoặc Google Chrome được cài đặt trên máy tính của bạn.
6) Phải biết cách cài đặt Trình điều khiển Firefox Gecko hoặc Trình điều khiển Web Chrome.



Để đáp ứng các yêu cầu 4, 5 và 6, vui lòng đọc bài viết của tôi Giới thiệu về Selenium với Python 3 tại Linuxhint.com.





Bạn có thể tìm thấy nhiều bài viết về các chủ đề khác trên LinuxHint.com . Hãy chắc chắn kiểm tra chúng nếu bạn cần bất kỳ hỗ trợ nào.

Thiết lập Thư mục Dự án:

Để giữ mọi thứ có tổ chức, hãy tạo một thư mục dự án mới selen-url / như sau:



$mkdir -pvselen-url/người lái xe

Điều hướng đến selen-url / thư mục dự án như sau:

$đĩa CDselen-url/

Tạo một môi trường ảo Python trong thư mục dự án như sau:

$virtualenv .venv

Kích hoạt môi trường ảo như sau:

$nguồn.venv//hoạt động

Cài đặt thư viện Selenium Python trong môi trường ảo của bạn bằng PIP3 như sau:

$ pip3 cài đặt selen

Tải xuống và cài đặt tất cả các trình điều khiển web được yêu cầu trong trình điều khiển / thư mục của dự án. Tôi đã giải thích quá trình tải xuống và cài đặt trình điều khiển web trong bài viết của mình Giới thiệu về Selenium với Python 3 . Nếu bạn cần bất kỳ hỗ trợ nào, hãy tìm kiếm trên LinuxHint.com cho bài báo đó.

Tôi sẽ sử dụng trình duyệt web Google Chrome để trình diễn trong bài viết này. Vì vậy, tôi sẽ sử dụng máy cắt crôm nhị phân với Selenium. Bạn nên sử dụng người lái tắc kè nhị phân nếu bạn muốn sử dụng trình duyệt web Firefox.

Tạo một tập lệnh Python ex01.py trong thư mục dự án của bạn và nhập các dòng mã sau vào thư mục đó.

từselennhập khẩuwebdriver
từselen.webdriver.chung.chìa khóa nhập khẩuChìa khóa
tùy chọn=webdriver.ChromeOptions()
tùy chọn.không đầu = Thật
trình duyệt=webdriver.Trình duyệt Chrome(thực thi_path='./drivers/chromedriver',tùy chọn=tùy chọn)
trình duyệt.hiểu được('https://duckduckgo.com/')
in(trình duyệt.current_url)
trình duyệt.gần()

Khi bạn đã hoàn tất, hãy lưu ex01.py Tập lệnh Python.

Tại đây, dòng 1 và dòng 2 nhập tất cả các thành phần bắt buộc từ thư viện Python selen.

Dòng 4 tạo đối tượng Tùy chọn Chrome và dòng 5 bật chế độ không sử dụng cho trình duyệt web Chrome.

Dòng 7 tạo Chrome trình duyệt đối tượng sử dụng máy cắt crôm nhị phân từ trình điều khiển / thư mục của dự án.

Dòng 9 cho trình duyệt tải trang web duckduckgo.com.

Dòng 10 in URL hiện tại của trình duyệt. Ở đây, browser.current_url thuộc tính được sử dụng để truy cập URL hiện tại của trình duyệt.

Dòng 12 đóng trình duyệt.

Chạy tập lệnh Python ex01.py như sau:

$ python3 ex01.py

Như bạn có thể thấy, URL hiện tại ( https://duckduckgo.com ) được in trên bảng điều khiển.

Trong ví dụ trước đó, tôi đã truy cập trang web duckduckgo.com và in URL hiện tại trên bảng điều khiển. Điều này trả về URL của trang chúng tôi đang truy cập. Không thích lắm vì chúng ta đã biết URL của trang. Bây giờ, hãy tìm kiếm thứ gì đó trên DuckDuckGo và thử in URL của trang kết quả tìm kiếm trên bảng điều khiển.

Tạo một tập lệnh Python ex02.py trong thư mục dự án của bạn và nhập các dòng mã sau vào thư mục đó.

từselennhập khẩuwebdriver
từselen.webdriver.chung.chìa khóa nhập khẩuChìa khóa
tùy chọn=webdriver.ChromeOptions()
tùy chọn.không đầu = Thật
trình duyệt=webdriver.Trình duyệt Chrome(thực thi_path='./drivers/chromedriver',tùy chọn=tùy chọn)
trình duyệt.hiểu được('https://duckduckgo.com/')
in(trình duyệt.current_url)
searchInput=trình duyệt.find_element_by_id('search_form_input_homepage')
searchInput.send_keys('selen hq'+ Chìa khóa.ĐI VÀO)
in(trình duyệt.current_url)
trình duyệt.gần()

Khi bạn đã hoàn tất, hãy lưu ex02.py Tập lệnh Python.

Ở đây, các dòng 1-10 giống như trong ex01.py . Vì vậy, tôi không giải thích chúng một lần nữa.

Dòng 12 tìm hộp văn bản tìm kiếm và lưu trữ nó trong searchInput Biến đổi.

Dòng 13 gửi truy vấn tìm kiếm selen hq bên trong searchInput hộp văn bản và nhấn chìa khóa sử dụng Keys.ENTER .

Khi trang tìm kiếm tải, browser.current_url được sử dụng để truy cập URL hiện tại được cập nhật.

Dòng 15 in URL hiện tại được cập nhật trên bảng điều khiển.

Dòng 17 đóng trình duyệt.

Chạy ex02.py Tập lệnh Python như sau:

$ python3 ex02.py

Như bạn có thể thấy, tập lệnh Python ex02.py in 2 URL.

Đầu tiên là URL trang chủ của công cụ tìm kiếm DuckDuckGo.

Cái thứ hai là URL hiện tại được cập nhật sau khi thực hiện tìm kiếm trên công cụ tìm kiếm DuckDuckGo bằng cách sử dụng truy vấn selen hq .

Phần kết luận:

Trong bài viết này, chúng tôi đã giới thiệu cho các bạn cách lấy URL hiện tại của trình duyệt web bằng thư viện Selenium Python. Bây giờ, bạn sẽ có thể làm cho các dự án Selenium của mình thú vị hơn.