Dán selen Python từ khay nhớ tạm

tôi có một mô tả văn bản dài (15000 ký tự) và tôi muốn dán nó vào vùng văn bản trình điều khiển, nhưng khi tôi thực hiện trình điều khiển. find_element_by_id(elem). send_keys(mô tả)

phải mất tới 5 phút trong chrome

xin vui lòng cho tôi một cách tốt hơn

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ội dung đó vào hộp văn bản tốc độ.
từ trình điều khiển web nhập Selenium
từ Selenium. webdriver. phổ thông. bằng cách nhập Bởi
từ Selenium. webdriver. ủng hộ. giao diện người dùng nhập WebDriverWait dưới dạng W
từ selen. webdriver. hỗ trợ nhậpexpected_conditions dưới dạng E
từ selen. webdriver nhập ActionChains dưới dạng A
từ selen. webdriver. phổ thông. keys nhập Key dưới dạng K

exec_path = r"E. \Training\SeleniumPython\Downloads\geckodriver-v0. 26. 0-win32\geckodriver. exe"
URL = "https. //inderpsingh. blogspot. com/2014/08/demowebapp_24. html"
Khoảng cách_id_locator = "khoảng cách"
speed_id_locator = "tốc độ"
wait_time_out = 15
driver = webdriver.Firefox(executable_path=exec_path)
# Xác định biến cho WebDriverWait Python.
wait_variable = W(driver, wait_time_out)
# Điều hướng đến URL được cung cấp ở trên.
trình điều khiển. get(URL)
# Xác định đối tượng ActionChains có tên a (để thực hiện thao tác bàn phím).
a = A(trình điều khiển)
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"). thực hiện()
# Python Selenium sao chép văn bản vào khay nhớ tạm bằng Ctrl+C
a. key_down(K. ĐIỀU KHIỂN). send_keys("c"). thực hiện()
# Đặt tiêu điểm vào hộp văn bản Tốc độ.
a. click_and_hold(tốc_độ). biểu diễn()
# Văn bản dán Selenium trong Python bằng Ctrl+V i. e. Dán bản sao Selenium trong Python
a. key_down(K. ĐIỀU KHIỂN). send_keys("v"). thực hiệ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 Python coding
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as W
from selenium.webdriver.support import expected_conditions as E
import pyautogui as P

exec_path = r"E:\Training\SeleniumPython\Downloads\geckodriver-v0.26.0-win32\geckodriver.exe"
URL = "https://inderpsingh.blogspot.com/2014/08/demowebapp_24.html"
distance_id_locator = "distance"
wait_time_out = 15
driver = webdriver.Firefox(executable_path=exec_path)
wait_variable = W(driver, wait_time_out)
driver.get(URL)
distance_element = wait_variable.until(E.presence_of_element_located((By.ID, distance_id_locator)))
# Call send keys method to send an empty string to set focus to the Distance text box.
distance_element.send_keys("")
# Call PyAutoGUI write method to type text in the Distance text box.
P.write("123456.78")
P.sleep(1)
# Call PyAutoGUI press method to press backspace key 3 times i.e. remove ".78".
P.press("backspace", 3)
# Call PyAutoGUI hotkey method to press keyboard shortcut Ctrl+A i.e. Python Selenium select all.
P.hotkey("ctrl", "a")
# Call PyAutoGUI hotkey method to press keyboard shortcut Ctrl+C i.e. Python Selenium copy text from web page.
P.hotkey("ctrl", "c")
P.sleep(1)
# Call PyAutoGUI press method to set focus to Speed text box.
P.press("tab")
# Call PyAutoGUI hotkey method to press keyboard shortcut Ctrl+V i.e. Python Selenium paste text from clipboard.
P.hotkey("ctrl", "v")

Muốn tìm hiểu thêm? . Cảm ơn bạn

Đối với một số vấn đề, sẽ thật tuyệt nếu ứng dụng của chúng tôi có thể truy cập vào khay nhớ tạm của người dùng hiện tại và thực hiện một số hành động sao chép và dán. Hãy xem cách chúng ta có thể truy cập khay nhớ tạm từ Python

Bài đăng này là một phần trong hành trình học Python của tôi. Bạn có thể tìm thấy các phần khác của loạt bài này tại đây. Bạn tìm thấy mã cho bài đăng này trong kho lưu trữ PythonFriday của tôi trên GitHub

 

Cài đặt pyperclip

Pyperclip là một trong nhiều thư viện mà chúng tôi có thể sử dụng cho tác vụ này. Tôi chọn pyperclip vì nó dễ sử dụng và hoạt động trên Windows, Linux và Mac. Bạn có thể cài đặt nó bằng lệnh này

Hệ điều hành MS

1

pip cài đặt pyperclip

 

Ghi vào clipboard

Chúng ta có thể ghi vào clipboard với mã này

con trăn

1

2

3

4

nhập pyperclip

 

# ghi vào bảng nhớ tạm

pyperclip. bản sao("giá trị mới cho khay nhớ tạm")

Nếu chúng tôi chạy mã này, văn bản “một giá trị mới cho khay nhớ tạm” sẽ được sao chép vào khay nhớ tạm của chúng tôi và chúng tôi có thể dán nó bằng CTRL-P vào bất kỳ vị trí nào chúng tôi muốn

 

Đọc từ clipboard

Chúng tôi có thể đọc nội dung của clipboard với mã này

con trăn

1

2

3

4

5

6

nhập pyperclip

 

# đọc từ khay nhớ tạm

văn bản = pyperclip. dán()

 

in(văn bản)

Bất kỳ văn bản hoặc số nào chúng tôi có trong khay nhớ tạm đều được in ra. Bạn có thể chơi xung quanh và khi bạn thay đổi nội dung của khay nhớ tạm;

 

Phần kết luận

Pyperclip cung cấp cho chúng tôi một cách đơn giản để truy cập khay nhớ tạm. Không cần giao diện người dùng đồ họa, chúng tôi có thể cung cấp một cách trực quan để tương tác với người dùng và hoàn thành công việc mà không gặp nhiều trở ngại

Làm cách nào để dán bảng tạm trong Selenium Python?

# 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. # Gọi phương thức nhấn PyAutoGUI để đặt tiêu điểm cho hộp văn bản Tốc độ. # 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.

Làm cách nào để lưu trữ văn bản đã sao chép vào một chuỗi trong Selenium WebDriver?

getAttribute("giá trị"). toString(); . ra. println(văn bản đã sao chép);

Làm cách nào để thực hiện các thao tác bàn phím trong Selenium?

Sự kiện bàn phím sử dụng API lớp tác vụ Selenium. .
sendKeys(keysToSend). gửi một loạt các lần nhấn phím vào phần tử
keyDown(theKey). Gửi một lần nhấn phím mà không nhả nó. Các hành động tiếp theo có thể cho rằng nó được nhấn. (thí dụ. chìa khóa. ALT, phím. SHIFT hoặc Phím. ĐIỀU KHIỂN)
keyUp(theKey). Thực hiện phát hành chính

Làm cách nào để dán URL trong Selenium?

copyBtn. click(); . executeScript("cửa sổ. open()");// khởi chạy tab mới SeleniumUtils .