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:

Search
Reset

Tôi muốn có thể nhấp vào cả hai nút

driver.find_element_by_css_selector('.button .c_button .s_button').click()
7 và
driver.find_element_by_css_selector('.button .c_button .s_button').click()
8 ở trên (rõ ràng là riêng lẻ).

Tôi đã thử một vài điều, ví dụ: ví dụ:

driver.find_element_by_css_selector('.button .c_button .s_button').click()

hoặc,

driver.find_element_by_name('s_image').click()

hoặc,

driver.find_element_by_class_name('s_image').click()

Nhưng, tôi dường như luôn luôn kết thúc với

driver.find_element_by_css_selector('.button .c_button .s_button').click()
9, ví dụ:

selenium.common.exceptions.NoSuchElementException: Message: u'Unable to locate element: {"method":"name","selector":"s_image"}' ;

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áp

l=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

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?

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?

Cập nhật vào ngày 07 tháng 4 năm 2021 08:37:05

  • Câu hỏi và câu trả lời liên quan
  • Nhấp vào nút HREF với Selenium và Python?
  • Sử dụng selenium trong Python để nhấp/chọn nút radio.
  • Làm thế nào để nhấp vào một nút với JavaScript Executor trong selenium với Python?
  • Làm thế nào để nhấp vào hình ảnh trong Selenium WebDriver Python?
  • Làm thế nào để nhấp vào một liên kết trong selen với Python?
  • Làm thế nào để sử dụng phương thức click () trong selenium với python?
  • Cách nhấp vào nút Đăng ký bằng Java trong Selenium Tôi có thể mở trang nhưng không thể nhấp vào?
  • Làm thế nào để tạo nhấp chuột phải bằng Selenium?
  • Làm thế nào để nhấp vào nút 'OK' bên trong cửa sổ cảnh báo bằng lệnh selen?
  • Cách nhấp vào liên kết bằng Selenium WebDriver trong Python.
  • Làm thế nào để xử lý một nút Nhấp vào sự kiện trong Tkinter?
  • Làm thế nào để nhấp vào một liên kết trong selen?
  • Làm thế nào để thực hiện nhấp chuột phải bằng Selenium Chromedriver?
  • Tìm và nhấp vào phần tử theo tiêu đề Python selenium.
  • Làm thế nào để sử dụng selenium webdriver để nhấp vào tìm kiếm google?

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ường

Chú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 ‘

driver.find_element_by_name('s_image').click()
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:

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ì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.

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?

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ư:

  • driver.find_element_by_name('s_image').click()
    
    1
  • driver.find_element_by_name('s_image').click()
    
    2
  • driver.find_element_by_name('s_image').click()
    
    3
  • driver.find_element_by_name('s_image').click()
    
    4
  • driver.find_element_by_name('s_image').click()
    
    5
  • driver.find_element_by_name('s_image').click()
    
    3
  • driver.find_element_by_name('s_image').click()
    
    7
  • driver.find_element_by_name('s_image').click()
    
    8
  • driver.find_element_by_name('s_image').click()
    
    9

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')

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?

Chúng ta có thể tạo một biến ‘

driver.find_element_by_class_name('s_image').click()
0, loại
driver.find_element_by_class_name('s_image').click()
1 và sau đó nhấp vào nó bằng phương pháp
driver.find_element_by_class_name('s_image').click()
2.

driver.find_element_by_css_selector('.button .c_button .s_button').click()
0

Cá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

driver.find_element_by_class_name('s_image').click()
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ó

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?

Như chúng ta có thể thấy nó là một thẻ

driver.find_element_by_class_name('s_image').click()
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
driver.find_element_by_class_name('s_image').click()
6, nhấp chuột phải vào thẻ
driver.find_element_by_class_name('s_image').click()
7, đi đến sao chép và sau đó chọn tùy chọn Sao chép Xpath XPath từ menu ngữ cảnh.
driver.find_element_by_class_name('s_image').click()
6 cho thẻ
driver.find_element_by_class_name('s_image').click()
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
driver.find_element_by_class_name('s_image').click()
2 trên nó. Mã sẽ trông như thế này:

driver.find_element_by_css_selector('.button .c_button .s_button').click()
1

Khi 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.

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?

Mặc dù tên

selenium.common.exceptions.NoSuchElementException: Message: u'Unable to locate element: {"method":"name","selector":"s_image"}' ;
1 có sẵn ở đây trong thẻ
selenium.common.exceptions.NoSuchElementException: Message: u'Unable to locate element: {"method":"name","selector":"s_image"}' ;
2, chúng ta có thể sử dụng một phương thức thú vị ở đây được gọi là
driver.find_element_by_name('s_image').click()
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,
driver.find_element_by_css_selector('.button .c_button .s_button').click()
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

driver.find_element_by_name('s_image').click()
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.

driver.find_element_by_css_selector('.button .c_button .s_button').click()
2

Khi 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

driver.find_element_by_name('s_image').click()
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út

Mô -đ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

selenium.common.exceptions.NoSuchElementException: Message: u'Unable to locate element: {"method":"name","selector":"s_image"}' ;
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
selenium.common.exceptions.NoSuchElementException: Message: u'Unable to locate element: {"method":"name","selector":"s_image"}' ;
7 này sẽ lấy trình điều khiển làm đối số.

driver.find_element_by_css_selector('.button .c_button .s_button').click()
3

Bây giờ chúng ta cần kiểm tra

driver.find_element_by_class_name('s_image').click()
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.

driver.find_element_by_css_selector('.button .c_button .s_button').click()
4

Bâ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

selenium.common.exceptions.NoSuchElementException: Message: u'Unable to locate element: {"method":"name","selector":"s_image"}' ;
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
selenium.common.exceptions.NoSuchElementException: Message: u'Unable to locate element: {"method":"name","selector":"s_image"}' ;
7Class.

driver.find_element_by_css_selector('.button .c_button .s_button').click()
5

Khi 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.

driver.find_element_by_css_selector('.button .c_button .s_button').click()
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: