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" (https://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: http://pastebin.com/qtdnsrtz

Cảm ơn trước!

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

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


4 được gọi là

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:
Hướng dẫn python selenium click button by class - python selen nút bấm theo lớp
Hướng dẫn python selenium click button by class - python selen nút bấm theo lớp

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


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


6,

7,

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

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

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

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

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

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

1

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


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

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

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

https://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

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

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)

Hướng dẫn python selenium click button by class - python selen nút bấm theo lớp
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


0


1

Hướng dẫn python selenium click button by class - python selen nút bấm theo lớp
Đã 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:


2

CODE:


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!!!

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