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
6Trong đó 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]
• 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
0và
Info Toko
1
• 65,890 points
Selenium có thể tự động nhấp vào các nút xuất hiện trên trang web
- Tìm nút.
- 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
2CODE:
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!!!
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.