Chúng ta có thể chuyển đổi các tab trình duyệt khác nhau bằng Selenium webdriver trong Python bằng phương thức switch_to. cửa sổ. Theo mặc định, trình điều khiển web có quyền truy cập vào cửa sổ chính
Khi một tab trình duyệt khác được mở, switch_to. cửa sổ giúp chuyển tiêu điểm webdriver sang tab. Tay cầm cửa sổ của cửa sổ trình duyệt nơi chúng tôi muốn thay đổi được truyền dưới dạng tham số cho phương thức đó
Phương thức window_handles chứa danh sách tất cả id xử lý cửa sổ của các trình duyệt đã mở. Phương thức current_window_handle được sử dụng để giữ id xử lý cửa sổ của cửa sổ trình duyệt ở tiêu điểm
Vì vậy, tôi đang cố mở các trang web trên các tab mới trong WebDriver của mình. Tôi muốn làm điều này, vì mở WebDriver mới cho mỗi trang web mất khoảng 3. 5 giây khi sử dụng PhantomJS, tôi muốn có thêm tốc độ
Tôi đang sử dụng tập lệnh python đa xử lý và tôi muốn lấy một số thành phần từ mỗi trang, vì vậy quy trình làm việc sẽ như thế này
Open Browser
Loop throught my array
For element in array -> Open website in new tab -> do my business -> close it
Nhưng tôi không thể tìm ra cách nào để đạt được điều này
Đây là mã tôi đang sử dụng. Mất nhiều thời gian giữa các trang web, tôi cần nó nhanh. Các công cụ khác được cho phép, nhưng tôi không biết quá nhiều công cụ để cạo nội dung trang web tải bằng JavaScript [div được tạo khi một số sự kiện được kích hoạt khi tải, v.v.] Đó là lý do tại sao tôi cần Selenium. Không thể sử dụng BeautifulSoup cho một số trang của tôi
Selenium là một công cụ mạnh mẽ để kiểm soát trình duyệt web thông qua chương trình. Nó có chức năng cho tất cả các trình duyệt, hoạt động trên tất cả các hệ điều hành chính và các tập lệnh của nó được viết bằng nhiều ngôn ngữ khác nhau. e Python, Java, C#, v.v., chúng tôi sẽ làm việc với Python
Làm chủ Selenium sẽ giúp bạn tự động hóa các công việc hàng ngày của mình như kiểm soát tweet, nhắn tin Whatsapp và thậm chí chỉ cần googling mà không thực sự mở trình duyệt chỉ trong 15-30 dòng mã python. Giới hạn của tự động hóa là vô tận với Selenium
Cài đặt
1. 1 Liên kết Selenium trong Python
Các liên kết Selenium Python cung cấp API thuận tiện để truy cập Trình điều khiển web Selenium như Firefox, Chrome, v.v.
Pip install Selenium
1. 2 trình điều khiển web
Selenium yêu cầu trình điều khiển web để giao tiếp với trình duyệt đã chọn. Trình điều khiển web là một gói để tương tác với trình duyệt web. Nó tương tác với trình duyệt web hoặc máy chủ web từ xa thông qua giao thức dây chung cho tất cả. Bạn có thể kiểm tra và cài đặt các trình điều khiển web của sự lựa chọn trình duyệt của bạn
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/
Bắt đầu
from
selenium
import
webdriver
# For using sleep function because selenium
# works only when the all the elements of the
# page is loaded.
import
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/1
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/2
from
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/4
import
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/6
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/8
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/9
from
0 from
1from
2_______21_______3from
4
from
6
from
7_______21_______8from
4
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/2
selenium
1from
0 selenium
3selenium
4from
4
selenium
7
selenium
8selenium
9import
0
import
2_______23_______3import
4from
4
import
7_______21_______0 selenium
3webdriver
0_______21_______4
webdriver
3
webdriver
4selenium
9webdriver
6webdriver
7from
4
import
7_______21_______0
2
3_______21_______4
6
7
8
9import
3# For using sleep function because selenium
1# For using sleep function because selenium
2# For using sleep function because selenium
3# For using sleep function because selenium
4
# For using sleep function because selenium
5# For using sleep function because selenium
6from
0 # For using sleep function because selenium
8# For using sleep function because selenium
9# works only when the all the elements of the
0
# works only when the all the elements of the
1
# works only when the all the elements of the
3from
0 selenium
3# works only when the all the elements of the
6_______21_______4
# works only when the all the elements of the
8selenium
9import
0
import
2_______23_______3# page is loaded.
3from
4
from
7_______28_______6from
4
# page is loaded.
9from
0
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/01
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/02
from
4Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/04
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/05
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/07
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/08
from
4
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/11
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/12
import
2_______23_______3
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/16
from
4
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/19
Chrome: //sites.google.com/a/chromium.org/chromedriver/downloads Firefox: //github.com/mozilla/geckodriver/releases Safari: //webkit.org/blog/6900/webdriver-support-in-safari-10/20
Phân tích mã
Kịch bản trên là để đăng nhập vào twitter và tìm kiếm chuyên viên máy tính để xử lý chuyên viên máy tính
Vì vậy, hãy xem nó hoạt động như thế nào
1. Mở trình duyệt
2. Tạo một phiên bản trình duyệt và sử dụng. lấy chức năng kết nối website
3. Tìm phần tử, đây có thể là bất cứ thứ gì tìm hộp nhập liệu hoặc nút và sử dụng chức năng selen như click[], send_keys[], v.v. để tương tác với phần tử
4. Đóng trình duyệt
Đến bây giờ, bạn hẳn đã nhận ra tập lệnh tự động hóa này hoạt động theo cách lặp đi lặp lại để tìm một phần tử và tương tác với nó. Có nhiều cách khác nhau để tìm một phần tử trong trang web, bạn chỉ cần nhấp chuột phải và kiểm tra phần tử và sao chép phần tử theo tên, bộ chọn css hoặc xpath
Về cơ bản, đó là cách sử dụng cái này, bạn có thể tạo một tập lệnh tự động tùy chỉnh cho mọi trang web hoặc một tập lệnh chung cho tất cả các phương tiện truyền thông xã hội của bạn để tự động hóa tất cả các hành động của bạn
Không có giới hạn đối với tự động hóa và trên đây chỉ là một ví dụ để các bạn bắt đầu. Rất vui khi mã hóa
Bài liên quan
Whatsapp sử dụng Python
Bài viết này được đóng góp bởi Pradhvan Bisht. Nếu bạn thích GeeksforGeeks và muốn đóng góp, bạn cũng có thể viết một bài báo bằng cách sử dụng write. chuyên viên máy tính. org hoặc gửi bài viết của bạn tới review-team@geeksforgeeks. tổ chức. Xem bài viết của bạn xuất hiện trên trang chính của GeeksforGeeks và trợ giúp các Geeks khác
Vui lòng viết bình luận nếu bạn thấy bất cứ điều gì không chính xác hoặc bạn muốn chia sẻ thêm thông tin về chủ đề thảo luận ở trên