Chuyển sang hướng dẫn tiếp theo trong Hướng dẫn Selenium Python cho người mới bắt đầu. Hướng dẫn dành cho người mới bắt đầu Selenium Python này giải thích các thao tác bàn phím trong Selenium Python bằng cách sử dụng các thư viện Keys và PyAutoGUI. Các thao tác bàn phím là gửi phím, chỉnh sửa văn bản, sao chép và dán văn bản và đặt tiêu điểm bằng bàn phím. Trước tiên, hãy xem Hướng dẫn Dán bản sao Selenium Python. Sau đó đọc tiếp.
Đây là ví dụ Selenium Python đầu tiên của tôi với sự chờ đợi rõ ràng. Tôi đã đưa ra lời giải thích trong các nhận xét trong mã [dòng bắt đầu bằng #]
# Selenium WebDriver Mã hóa Python
# Nhập nội dung nào đó vào hộp văn bản Khoảng cách và sao chép nó vào hộp văn bản tốc độ
từ Selenium nhập webdriver
từ selen. webdriver. phổ thông. bằng cách nhập khẩu Bằng cách
từ selen. webdriver. ủng hộ. ui nhập WebDriverWait dưới dạng W
từ selen. webdriver. hỗ trợ nhập khẩuexpected_conditions dưới dạng E
từ selen. webdriver nhập ActionChains dưới dạng A
từ selen. webdriver. phổ thông. phím nhập Phím dưới dạng K
exec_path = r"E. \Training\SeleniumPython\Downloads\geckodriver-v0. 26. 0-win32\geckodriver. exe"
địa chỉ = "https. //inderpsingh. blogspot. com/2014/08/demowebapp_24. html"
distance_id_locator = "khoảng cách"
speed_id_locator = "tốc độ"
wait_time_out = 15
trình điều khiển = webdriver. Firefox[executable_path=exec_path]
# Xác định biến cho WebDriverWait Python
wait_variable = W[trình điều khiển, wait_time_out]
# Điều hướng đến URL được cung cấp ở trên
tài xế. lấy[URL]
# Xác định đối tượng ActionChains có tên a [để thực hiện các thao tác trên bàn phím]
a = A[người lái xe]
distance_element = wait_variable. cho đến khi [E. sự hiện diện_of_element_location[[Bởi. ID, distance_id_locator]]]
speed_element = wait_variable. cho đến khi [E. sự hiện diện_of_element_location[[Bởi. ID, speed_id_locator]]]
# Nhập một số văn bản vào hộp văn bản Khoảng cách bằng các phím gửi
distance_element. send_keys["123456"]
# Python Selenium chọn tất cả văn bản bằng Ctrl+A
a. key_down[K. ĐIỀU KHIỂN]. send_keys["a"]. trình diễn[]
# Python Selenium sao chép văn bản vào clipboard bằng Ctrl+C
a. key_down[K. ĐIỀU KHIỂN]. send_keys["c"]. trình diễn[]
# Đặt tiêu điểm cho hộp văn bản Tốc độ
a. click_and_hold[tốc_độ]. trình diễn[]
# Python Selenium dán văn bản bằng Ctrl+V i. e. Dán bản sao Selenium của Python
a. key_down[K. ĐIỀU KHIỂN]. send_keys["v"]. trình diễn[]
Đây là ví dụ Selenium Python thứ hai của tôi sử dụng PyAutoGUI, mà tôi thấy có một số tính năng cho thao tác bàn phím và dễ sử dụng. Bạn cài đặt gói PyAutoGUI bằng lệnh pip trong Command Prompt. Sau đó cài đặt gói PyAutoGUI trong dự án trong menu Tệp>Cài đặt>Trình thông dịch dự án. Tôi đã giải thích các nhiệm vụ như vậy ở đây
# Selenium WebDriver Mã hóa Python
từ Selenium nhập webdriver
từ selen. webdriver. phổ thông. bằng cách nhập khẩu Bằng cách
từ selen. webdriver. ủng hộ. ui nhập WebDriverWait dưới dạng W
từ selen. webdriver. hỗ trợ nhập khẩuexpected_conditions dưới dạng E
nhập pyautogui dưới dạng P
exec_path = r"E. \Training\SeleniumPython\Downloads\geckodriver-v0. 26. 0-win32\geckodriver. exe"
địa chỉ = "https. //inderpsingh. blogspot. com/2014/08/demowebapp_24. html"
distance_id_locator = "khoảng cách"
wait_time_out = 15
trình điều khiển = webdriver. Firefox[executable_path=exec_path]
wait_variable = W[trình điều khiển, wait_time_out]
tài xế. lấy[URL]
distance_element = wait_variable. cho đến khi [E. sự hiện diện_of_element_location[[Bởi. ID, distance_id_locator]]]
# Gọi phương thức gửi phím để gửi một chuỗi trống để đặt tiêu điểm cho hộp văn bản Khoảng cách
distance_element. send_keys[""]
# Gọi phương thức ghi PyAutoGUI để nhập văn bản vào hộp văn bản Khoảng cách
P. ghi["123456. 78"]
P. ngủ[1]
# Gọi phương thức nhấn PyAutoGUI để nhấn phím xóa lùi 3 lần i. e. gỡ bỏ ". 78"
P. nhấn ["xóa lùi", 3]
# Gọi phương thức phím nóng PyAutoGUI để nhấn phím tắt Ctrl+A i. e. Python Selenium chọn tất cả
P. phím nóng ["ctrl", "a"]
# Gọi phương thức phím nóng PyAutoGUI để nhấn phím tắt Ctrl+C i. e. Python Selenium sao chép văn bản từ trang web
P. phím nóng ["ctrl", "c"]
P. ngủ[1]
# Gọi phương thức nhấn PyAutoGUI để đặt tiêu điểm cho hộp văn bản Tốc độ
P. nhấn ["tab"]
# Gọi phương thức phím nóng PyAutoGUI để nhấn phím tắt Ctrl+V i. e. Python Selenium dán văn bản từ clipboard
P. phím nóng ["ctrl", "v"]
Muốn tìm hiểu thêm? . Cảm ơn bạn
Như bạn đã đề cập, đoạn mã sau sao chép văn bản vào khay nhớ tạm
def click_copy_transcript[self]:
selector = '//div[@id="closeChatModal"]//span[contains[text[], "Copy All"]]'
self.wait_for_element_by_xpath[selector].click[]
Bây giờ, để sao chép văn bản từ khay nhớ tạm, bạn có thể sử dụng phương pháp paste[]
từ Pyperclip – A cross-platform clipboard module for Python
như sau
import pyperclip
def click_copy_transcript[self]:
selector = '//div[@id="closeChatModal"]//span[contains[text[], "Copy All"]]'
self.wait_for_element_by_xpath[selector].click[]
topic_field.send_keys[pyperclip.paste[]]
Ghi chú. Theo adam-p/cb.py
, nó được đề cập là
Chức năng Python để sao chép văn bản vào clipboard [cho đến nay chỉ hỗ trợ Windows]