Hướng dẫn python selenium click button by class - python selen nút bấm theo lớp

Tôi đang cố gắng thêm các liên hệ trên LinkedIn bằng Python và Selenium. Tôi đang cố gắng làm như vậy bằng cách thêm các đề xuất liên hệ do LinkedIn thực hiện trong tab "Mạng" [//www.linkedin.com/mynetwork], có tính năng cuộn vô hạn.

Về cơ bản, tôi muốn tập lệnh định vị nút "Kết nối", bên cạnh mỗi cấu hình được đề xuất, nhấp vào nút và sau đó lặp lại cho đến khi lỗi, theo đó tập lệnh sẽ cuộn xuống để tải thêm các nút "Kết nối" để nhắc lại.

Cách tốt nhất tôi tìm thấy để xác định vị trí phần tử nút là Find_element_by_Class_name [] vì tất cả các nút kết nối đều có cùng một lớp. Tôi cũng đã thử định vị các yếu tố bằng CSS và XPath, mà không thành công.

Vấn đề: Tập lệnh có thể nhấp vào nút Kết nối đầu tiên, nhưng không có gì sau đó. Tôi đã thử nhiều ý tưởng để triển khai [định vị bởi XPath, CSS, sử dụng danh sách các nút để nhấp], nhưng dường như không có gì hoạt động. Dưới đây là phần có liên quan của kịch bản.

while True:
    try:
        driver.find_element_by_class_name["mn-person-card__person-btn-ext.button-secondary-medium"].click[]
        time.sleep[1]
    except:
        pass
        print["trying to scroll"]
        driver.execute_script["window.scrollTo[0, document.body.scrollHeight];"]
        time.sleep[1] 

Bất kỳ ý tưởng? Đối với tôi, có vẻ như mã nên hoạt động, và như thể có một cái gì đó khác đang ngăn chặn thành công. Có thể là một lỗi hoặc tương tự. Có thể đề cập rằng tôi khá mới đối với tất cả những điều này, và đó là kịch bản đầu tiên tôi đang cố gắng thực hiện để thao tác với một trình duyệt.

Tôi đang sử dụng Firefox Driver. Có thể tìm thấy tập lệnh đầy đủ ở đây: //pastebin.com/qtdnsrtz

Cảm ơn trước!

Tôi loại bỏ thị trường từ URL này //www.tokopedia.com/sunxin

Tôi muốn lấy dữ liệu từ

Info Toko
4 được gọi là
Info Toko
5, nếu người dùng nhấp vào điều này sẽ hiển thị nội dung bật lên:

Mã nguồn ban đầu cho nút này là:

Info Toko

Tôi đã cố gắng để có được phần tử bằng

Info Toko
6,
Info Toko
7,
Info Toko
8, nhưng vẫn không hoạt động.

driver.find_element_by_link_text['Info Toko']

Luôn nhận được thông báo lỗi như thế này

Bất kỳ ý tưởng làm thế nào để có được yếu tố này?

Alex.K.

4331 Huy hiệu vàng6 Huy hiệu bạc10 Huy hiệu đồng1 gold badge6 silver badges10 bronze badges

hỏi ngày 22 tháng 7 năm 2020 lúc 5:23Jul 22, 2020 at 5:23

1

Thử bằng cách sử dụng bộ chọn

Info Toko
6

Trong đó bạn muốn thay đổi mã chọn của mình như được hiển thị bên dưới

driver.find_element_by_link_text['Info Toko']
0

Điều này sẽ hoạt động

Đã trả lời ngày 22 tháng 7 năm 2020 lúc 5:53Jul 22, 2020 at 5:53

Khi nào bạn sử dụng một phương thức đọc tài liệu của nó:

//selenium-python.readthedocs.io/locating-elements.html

continue_link = driver.find_element_by_link_text['Continue']
continue_link = driver.find_element_by_partial_link_text['Conti']

Hai trình định vị phần tử này xác định phần tử chỉ bằng văn bản liên kết.

Trong selenium, liên kết là "thẻ neo", thẻ neo được sử dụng bao bọc một liên kết href

Trong trường hợp của bạn, đó là thẻ nút chứ không phải thẻ 'A', vì vậy phương thức văn bản liên kết sẽ không hoạt động

Sử dụng XPath, CSS hoặc lớp

xpath:

driver.find_element_by_xpath['//button[text[]="Info Toko"]']

css:

CSS để tìm bằng lớp

driver.find_element_by_css_selector['button.css-rhf1fq-unf-btn.e1ggruw00']

class:

driver.find_element_by_class_name['css-rhf1fq-unf-btn e1ggruw00']

Đã trả lời ngày 22 tháng 7 năm 2020 lúc 7:33Jul 22, 2020 at 7:33

Làm thế nào để nhấp vào nút Selenium Python?

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Thêm mới & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
                                                    Add New
                                                   
                                               

self.driver.find_element_by_xpath["//button[@id='sample_editable_1_new']"].click[]
Got Error : raise exception_class[message, screen, stacktrace]
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//button[@id='sample_editable_1_new']"}
  [Session info: chrome=86.0.4240.75]

Ngày 14 tháng 10 năm 2020in Pythonby • & NBSP; 140 điểm • 15.716 lượt xem in Python by
• 140 points
15,716 views

2 Câu trả lời cho câu hỏi này.

Này, @parthiv,

Đối với Python, hãy sử dụng

Info Toko
0

Info Toko
1

Đã trả lời ngày 14 tháng 10 năm 2020by Gitika • & NBSP; 65.890 điểm Oct 14, 2020 by Gitika
• 65,890 points

Selenium có thể tự động nhấp vào các nút xuất hiện trên trang web

  1. Tìm nút.
  2. Nhấn nút.

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ư & nbsp; find_element_by_class_name [], find_element_by_name [], find_element_by_id [] & nbsp;, sau đó sau khi tìm nút/phần tử chúng ta có thể nhấp vào nó

Cú pháp:

Info Toko
2

CODE:

Info Toko
3

Điều này sẽ nhấp vào nút và cửa sổ bật lên sẽ được hiển thị. & NBSP; Để hiểu thêm, bạn có thể tham khảo đào tạo selen.

Hi vọng điêu nay co ich!!!

Đã trả lời ngày 14 tháng 10 năm 2020by Đan Mạch Bhatiya Oct 14, 2020 by Danish Bhatiya

Các câu hỏi liên quan trong Python

  • Tất cả danh mục
  • Apache Kafka [84][84]
  • Apache Spark [596][596]
  • Azure [131][131]
  • Dữ liệu lớn Hadoop [1.907][1,907]
  • Blockchain [1.673][1,673]
  • C# [124][124]
  • C ++ [268][268]
  • Tư vấn nghề nghiệp [1.060][1,060]
  • Điện toán đám mây [3,356][3,356]
  • An ninh mạng & hack đạo đức [145][145]
  • Phân tích dữ liệu [1.266][1,266]
  • Cơ sở dữ liệu [853][853]
  • Khoa học dữ liệu [75][75]
  • DevOps & Agile [3.500][3,500]
  • Tiếp thị kỹ thuật số [111][111]
  • Các chủ đề về sự kiện & xu hướng [28][28]
  • IoT [Internet of Things] [387][387]
  • Java [1.178][1,178]
  • Kotlin [3][3]
  • Quản trị Linux [384][384]
  • Học máy [337][337]
  • MicroStrargety [6][6]
  • PMP [423][423]
  • Power BI [516][516]
  • Python [3.154][3,154]
  • RPA [650][650]
  • Salesforce [92][92]
  • Selenium [1.569][1,569]
  • Kiểm tra phần mềm [56][56]
  • Tableau [608][608]
  • Talend [73][73]
  • Các loại [124][124]
  • Phát triển web [2.999][2,999]
  • Hỏi chúng tôi bất cứ điều gì! [66][66]
  • Những người khác [1.104][1,104]
  • Phát triển di động [46][46]

Đăng ký nhận bản tin của chúng tôi và nhận được các khuyến nghị cá nhân hóa.

Bạn co săn san để tạo một tai khoản? Đăng nhập.

Làm thế nào để bạn nhấp vào một nút trong Selenium Python?

Trước tiên, bạn cần cài đặt phiên bản mới nhất của Selenium WebDriver từ liên kết này: //www.selenium.dev/. Đảm bảo rằng bạn tải xuống phiên bản trình điều khiển web tương thích với trình duyệt của bạn ...
Nhập vào phụ thuộc ..
Trình duyệt mở bằng selen ..
Tìm kiếm và nhấp vào nút ..
Đóng trình duyệt ..

Làm thế nào để bạn tự động hóa một nút bấm vào Python?

Cách tiếp cận từng bước:..
Nhập các mô -đun yêu cầu ..
Tạo đối tượng WebDriver ..
Chỉ định URL ..
Sử dụng phương thức Maximize_window [] để tối đa hóa cửa sổ trình duyệt.Và sau đó đợi 10 giây bằng phương pháp Sleep [] ..
Sử dụng phương thức Find_element_by_link_text [] để nhấp vào nút bằng văn bản ..

Những cách để nhấp vào một nút trong selenium là gì?

Chúng ta có thể sử dụng JavaScript Executor để thực hiện hành động nhấp chuột.Selenium có thể thực thi các lệnh JavaScript với sự trợ giúp của phương thức thực thi.Các tham số - Đối số [0].click [] và định vị của phần tử mà nhấp chuột sẽ được thực hiện được chuyển cho phương thức này.use the JavaScript Executor to perform a click action. Selenium can execute JavaScript commands with the help of the executeScript method. The parameters – arguments[0]. click[] and locator of the element on which the click is to be performed are passed to this method.

Làm thế nào để bạn di chuột và nhấp vào Selenium Python?

Chúng ta có thể thực hiện hành động chuột trong selenium webdriver trong Python bằng cách sử dụng lớp ActionChains.Chúng ta phải tạo một đối tượng của lớp này và sau đó áp dụng các phương pháp phù hợp trên đó.Để di chuyển chuột đến một phần tử, chúng ta sẽ sử dụng phương thức Move_TO_element và chuyển trình định vị phần tử làm tham số.by using the ActionChains class. We have to create an object of this class and then apply suitable methods on it. In order to move the mouse to an element, we shall use the move_to_element method and pass the element locator as a parameter.

Chủ Đề