Hướng dẫn how do you click a button in python selenium? - làm thế nào để bạn bấm vào một nút trong selen python?
Tôi khá mới với Python selenium và tôi đang cố gắng nhấp vào một nút có cấu trúc HTML sau: Show
Tôi muốn có thể nhấp vào cả hai nút 7 và 8 ở trên (rõ ràng là riêng lẻ).Tôi đã thử một vài điều, ví dụ: ví dụ:
hoặc,
hoặc,
Nhưng, tôi dường như luôn luôn kết thúc với 9, ví dụ:
Tôi đang tự hỏi nếu bằng cách nào đó tôi có thể sử dụng các thuộc tính onclick của HTML để thực hiện nhấp chuột selen? Bất kỳ suy nghĩ nào có thể chỉ cho tôi đi đúng hướng sẽ là tuyệt vời. Cảm ơn. Chúng tôi có thể nhấp vào một nút với selenium webdriver trong Python bằng phương thức Click. Đầu tiên, chúng tôi phải xác định nút để được nhấp với sự trợ giúp của bất kỳ trình định vị nào như ID, Tên, Lớp, XPath, TagName hoặc CSS. Sau đó, chúng tôi phải áp dụng phương thức nhấp vào nó. Một nút trong mã HTML được biểu thị bằng tên nút. Hoạt động nhấp chuột cũng có thể được thực hiện với sự trợ giúp của JavaScript Executor. Selenium có thể thực thi lệnh javascript với sự trợ giúp của phương thức exec_script và lệnh javascript - đối số [0] .click () và trình định vị webelement được truyền làm tham số cho phương thức này Cú phápl=driver.find_element_by_id("btn"); l.click(); //with JavaScript Executor driver.execute_script("arguments[0].click();", l); Hãy để chúng tôi cố gắng nhấp vào nút Kiểm tra nó ngay trên trang - Thí dụThực hiện mã với phương thức nhấp chuột from selenium import webdriver #set chromodriver.exe path driver = webdriver.Chrome(executable_path="C:\chromedriver.exe") #implicit wait driver.implicitly_wait(0.5) #maximize browser driver.maximize_window() #launch URL driver.get("https://www.tutorialspoint.com/index.htm") #identify element l =driver.find_element_by_xpath("//button[text()='Check it Now']") #perform click l.click() print("Page title is: ") print(driver.title) #close browser driver.quit() Thực hiện mã với JavaScript Executor from selenium import webdriver #set chromodriver.exe path driver = webdriver.Chrome(executable_path="C:\chromedriver.exe") #implicit wait driver.implicitly_wait(0.5) #maximize browser driver.maximize_window() #launch URL driver.get("https://www.tutorialspoint.com/index.htm") #identify element l =driver.find_element_by_xpath("//button[text()='Check it Now']") #perform click with execute_script driver.execute_script("arguments[0].click();", l); print("Page title is: ") print(driver.title) #close browser driver.quit() Đầu ra
Cập nhật vào ngày 07 tháng 4 năm 2021 08:37:05
Các trang web hiện đại được trang bị rất nhiều chức năng. Các nút là một trong những thành phần cơ bản của chúng. Các ràng buộc API Selenium Python cho phép chúng tôi truy cập các webDers Selenium để tự động nhấp vào nút. Trong bài viết này, chúng tôi sẽ làm theo cách tiếp cận từng bước để nhấp vào các nút. Thiết lập môi trườngChúng tôi cần nhập Selenium trước để bắt đầu hoạt động của mình và sau đó chúng tôi sẽ nhập một webDriver cho phép chúng tôi tự động hóa các trang web. Chúng tôi sẽ sử dụng Chrome WebDriver để điều hướng qua trình duyệt Chrome. Mô -đun ‘ 0, cần phải được nhập vì nó sẽ cho phép một thời gian để trình duyệt tải trang đúng cách. ________số 8Đường dẫn thực thi trình điều khiển Chrome được chọn. Bây giờ trình điều khiển đã sẵn sàng để điều hướng đến trang tìm kiếm tiêu đề nâng cao IMDB IMDB:“IMDb Advanced Title Search” page: Tìm nútĐể nhấp vào nút trước tiên, chúng ta cần tìm nút. Chúng ta cần mở trang trong Chrome. Nhấp chuột phải vào nút và chọn phần tử kiểm tra từ menu ngữ cảnh. Cửa sổ Thanh tra sẽ mở bằng nút đánh dấu HTML của nút được chọn.Inspect Element from the context menu. The inspector window will open with the button’s HTML markup selected. Sau đó, chúng ta có thể tìm thấy nút trên trang web bằng cách sử dụng các phương thức như:
Nhấp vào nút radio bằng cách sử dụng id id ”Chúng tôi sẽ tìm thấy các tiêu đề loại trừ mà tôi đã thấy nút radio từ tùy chọn xếp hạng của bạn trên trang web của bạn. Hãy để nhấp chuột phải vào nút và sau đó nhấp vào phần tử kiểm tra của KIỂM TRA từ menu ngữ cảnh. Chúng ta có thể thấy từ HTML rằng thẻ đang điều khiển nút radio (xem hình ảnh: 2). Thẻ này có một thuộc tính ‘id. Vì vậy, chúng ta có thể tìm thấy nút radio với phương thức find_element_by_id (). Hãy để kiểm tra mã: driver.find_element_by_id('my_ratings|exclude') Chúng ta có thể tạo một biến ‘ 0, loại 1 và sau đó nhấp vào nó bằng phương pháp 2. 0Các tiêu đề loại trừ mà tôi đã thấy nút radio của Wikipedia sẽ được chọn khi mã được thực thi. Chúng tôi đã sử dụng phương thức 3 để cho phép 3 giây tải trang tiếp theo đúng.Nhấp vào nút Tìm kiếm bằng XpathỞ phần cuối của trang, chúng ta có thể thấy nút tìm kiếm. Làm thế nào để nhấp vào nó? Hãy để kiểm tra nó Như chúng ta có thể thấy nó là một thẻ 0 và chúng ta không thể sử dụng lớp ở đây để tìm phần tử vì nó là một lớp chính thức phổ biến. Tuy nhiên, chúng ta có thể tìm thấy nó với phương thức ____ ____35, để biết 6, nhấp chuột phải vào thẻ 7, đi đến sao chép và sau đó chọn tùy chọn Sao chép Xpath XPath từ menu ngữ cảnh. 6 cho thẻ 7 sẽ được sao chép. Sau đó làm cho nó trở thành một biến và chỉ áp dụng phương thức 2 trên nó. Mã sẽ trông như thế này: 1Khi chúng tôi chạy mã, chúng tôi sẽ được chuyển tiếp đến một trang khác sau khi nhấn nút Tìm kiếm trên mạng. Nhấp vào nút Đăng nhập vào "bằng văn bản liên kếtỞ góc trên cùng bên phải của trang tìm kiếm tiêu đề nâng cao trên mạng, chúng ta có thể thấy một nút ký trong nút Tùy chọn. Hãy để nhấp chuột phải vào nó và kiểm tra. Mặc dù tên 1 có sẵn ở đây trong thẻ 2, chúng ta có thể sử dụng một phương thức thú vị ở đây được gọi là 5. Với phương thức này, phần tử đầu tiên với giá trị văn bản liên kết khớp với vị trí sẽ được trả về. Nếu bất kỳ phần tử nào khớp với thuộc tính văn bản liên kết không được tìm thấy, 9 sẽ được nâng lên.Vì vậy, ở đây chúng ta chỉ cần đặt văn bản chính xác làm tham số bên trong phương thức 5 để tìm phần tử. Hãy cùng cố gắng nhấp vào nút Đăng nhập vào trong nút này với phương pháp này. 2Khi chúng tôi kiểm tra mã chúng tôi sẽ thấy, chúng tôi sẽ được chuyển vào trang đăng nhập trong trang. Phương pháp 5 này dường như rất dễ làm việc với ngay cả đối với người mới.Cách nhấp chuột phải vào nútMô -đun Selenium có một lớp hữu ích khác có tên là ____ ____47 mà chúng ta có thể sử dụng để thực hiện các hoạt động phức tạp như chuột di chuột qua, kéo và thả, keypress, v.v. Hôm nay chúng tôi sẽ sử dụng nó để nhấp chuột phải vào nút Đăng nhập vào nút. Chúng tôi cần nhập lớp 7 từ l=driver.find_element_by_id("btn"); l.click(); //with JavaScript Executor driver.execute_script("arguments[0].click();", l);0. Sau đó, chúng tôi sẽ tạo một đối tượng của lớp chuỗi hành động để nhấp chuột phải vào nó. Lớp 7 này sẽ lấy trình điều khiển làm đối số. 3Bây giờ chúng ta cần kiểm tra 1 cho nút Đăng nhập vào nút. Như chúng tôi đã làm trước đây, chúng tôi có thể sao chép và dán nó ở đây. 4Bây giờ đối với tùy chọn nhấp chuột phải, chúng tôi sẽ lấy một phương thức khác có tên là ____ ____53. Phương thức này trong lớp 7 thực hiện nhấp chuột ngữ cảnh (nhấp chuột phải) trên một phần tử. l=driver.find_element_by_id("btn"); l.click(); //with JavaScript Executor driver.execute_script("arguments[0].click();", l);5Method sẽ được yêu cầu để thực hiện nhấp chuột như được định nghĩa trong 7Class. 5Khi chúng tôi thực thi, trình duyệt Chrome sẽ tải và tự động nhấp chuột phải vào nút Đăng nhập vào nút. Bây giờ nếu chúng ta muốn nhấp vào một nút trong menu ngữ cảnh, chúng ta có thể thực hiện nó theo cách tương tự như chúng ta đã thực hiện nó để nhấp vào một nút. Cách nhấp đúp vào nútĐể nhấp đúp chuột vào nút hoặc menu, chúng tôi sẽ làm theo quy trình tương tự như chúng tôi đã làm theo một nhấp chuột phải vào hướng dẫn nút. Nhưng ở đây chúng tôi sẽ sử dụng phương pháp l=driver.find_element_by_id("btn"); l.click(); //with JavaScript Executor driver.execute_script("arguments[0].click();", l);7 thay vì l=driver.find_element_by_id("btn"); l.click(); //with JavaScript Executor driver.execute_script("arguments[0].click();", l);8. Phương pháp l=driver.find_element_by_id("btn"); l.click(); //with JavaScript Executor driver.execute_script("arguments[0].click();", l);7 này cho phép chúng tôi nhấp đúp vào một phần tử. Ví dụ, mã để nhấp đúp vào nút Đăng nhập vào nút của Nút. 6Để biết thêm về các lớp và phương pháp khác nhau của gói selen trong Python, vui lòng kiểm tra các tài liệu. Nếu bạn muốn tăng cường các kỹ năng Python của mình, hãy xem Học viện Email miễn phí của chúng tôi với Python Cheat Sheets: |