Hướng dẫn find element by div class in selenium python - tìm phần tử theo lớp div trong selen python
Vì vậy, tôi đang viết một kịch bản bằng selen nhưng tôi đã bị mắc kẹt trong việc tìm một lớp div. Show
Cấu trúc trên trang web là như thế này:
Đã thử một cái gì đó như from selenium.webdriver.common.by import By driver.find_element(By.XPATH, '//button[text()="Some text"]') driver.find_elements(By.XPATH, '//button')2 nhưng nó không hoạt động vì một số lý do, có lẽ tôi đã làm sai hoặc phải với nó theo một cách khác. Có ai có manh mối không? Đã hỏi ngày 16 tháng 6 năm 2015 lúc 17:51Jun 16, 2015 at 17:51
Bạn đang pha trộn các trình định vị lớp và Xpath một cách không được hỗ trợ! Một trong những điều sau đây sẽ hoạt động:
Bạn có thể muốn xem xét đọc một số tài liệu về XPath và có lẽ là người định vị selen nói chung.
xpy 5.3333 Huy hiệu vàng31 Huy hiệu bạc48 Huy hiệu đồng3 gold badges31 silver badges48 bronze badges Đã trả lời ngày 16 tháng 6 năm 2015 lúc 18:00Jun 16, 2015 at 18:00
1 Có nhiều chiến lược khác nhau để xác định vị trí các yếu tố trong một trang. Bạn có thể sử dụng cái thích hợp nhất cho trường hợp của bạn. Selenium cung cấp phương pháp sau để định vị các phần tử trong một trang:
Để tìm nhiều phần tử (các phương thức này sẽ trả về danh sách):
Ví dụ sử dụng: from selenium.webdriver.common.by import By driver.find_element(By.XPATH, '//button[text()="Some text"]') driver.find_elements(By.XPATH, '//button') Các thuộc tính có sẵn cho theo lớp được sử dụng để định vị các thành phần trên một trang. Đây là các thuộc tính có sẵn cho lớp học: ID = "id" NAME = "name" XPATH = "xpath" LINK_TEXT = "link text" PARTIAL_LINK_TEXT = "partial link text" TAG_NAME = "tag name" CLASS_NAME = "class name" CSS_SELECTOR = "css selector" Lớp ‘BY được sử dụng để chỉ định thuộc tính nào được sử dụng để định vị các phần tử trên một trang. Đây là những cách khác nhau, các thuộc tính được sử dụng để định vị các phần tử trên một trang: find_element(By.ID, "id") find_element(By.NAME, "name") find_element(By.XPATH, "xpath") find_element(By.LINK_TEXT, "link text") find_element(By.PARTIAL_LINK_TEXT, "partial link text") find_element(By.TAG_NAME, "tag name") find_element(By.CLASS_NAME, "class name") find_element(By.CSS_SELECTOR, "css selector") Nếu bạn muốn định vị một số phần tử có cùng thuộc tính, hãy thay thế Find_element bằng Find_elements. 4.1. Định vị bởi id¶Sử dụng điều này khi bạn biết thuộc tính ID của một phần tử. Với chiến lược này, phần tử đầu tiên với thuộc tính ID phù hợp sẽ được trả về. Nếu không có phần tử nào có thuộc tính ID phù hợp, from selenium.webdriver.common.by import By driver.find_element(By.XPATH, '//button[text()="Some text"]') driver.find_elements(By.XPATH, '//button')3 sẽ được nâng lên. Chẳng hạn, hãy xem xét nguồn trang này: <html> <body> <form id="loginForm"> <input name="username" type="text" /> <input name="password" type="password" /> <input name="continue" type="submit" value="Login" /> form> body> html> Phần tử biểu mẫu có thể được định vị như thế này: login_form = driver.find_element(By.ID, 'loginForm') 4.2. Định vị theo tên thánhSử dụng điều này khi bạn biết thuộc tính tên của một phần tử. Với chiến lược này, phần tử đầu tiên với thuộc tính tên phù hợp sẽ được trả về. Nếu không có phần tử nào có thuộc tính tên phù hợp, from selenium.webdriver.common.by import By driver.find_element(By.XPATH, '//button[text()="Some text"]') driver.find_elements(By.XPATH, '//button')3 sẽ được nêu ra. Chẳng hạn, hãy xem xét nguồn trang này: <html> <body> <form id="loginForm"> <input name="username" type="text" /> <input name="password" type="password" /> <input name="continue" type="submit" value="Login" /> <input name="continue" type="button" value="Clear" /> form> body> html> Phần tử biểu mẫu có thể được định vị như thế này: username = driver.find_element(By.NAME, 'username') password = driver.find_element(By.NAME, 'password') 4.2. Định vị theo tên thánh continue = driver.find_element(By.NAME, 'continue') Sử dụng điều này khi bạn biết thuộc tính tên của một phần tử. Với chiến lược này, phần tử đầu tiên với thuộc tính tên phù hợp sẽ được trả về. Nếu không có phần tử nào có thuộc tính tên phù hợp, from selenium.webdriver.common.by import By driver.find_element(By.XPATH, '//button[text()="Some text"]') driver.find_elements(By.XPATH, '//button') 3 sẽ được nêu ra.Các phần tử tên người dùng và mật khẩu có thể được định vị như thế này: Điều này sẽ cung cấp cho nút Đăng nhập của Nhật Bản khi nó xảy ra trước nút Xóa Clear Clear: 4.3. Định vị bởi xpath¶ Chẳng hạn, hãy xem xét nguồn trang này: <html> <body> <form id="loginForm"> <input name="username" type="text" /> <input name="password" type="password" /> <input name="continue" type="submit" value="Login" /> <input name="continue" type="button" value="Clear" /> form> body> html> Phần tử biểu mẫu có thể được định vị như thế này: 1
Điều này sẽ cung cấp cho nút Đăng nhập của Nhật Bản khi nó xảy ra trước nút Xóa Clear Clear: 2
Xpath tuyệt đối chứa vị trí của tất cả các phần tử từ gốc (HTML) và kết quả là có khả năng không thành công chỉ với sự điều chỉnh nhỏ nhất cho ứng dụng. Bằng cách tìm một phần tử gần đó với thuộc tính ID hoặc tên (lý tưởng là phần tử cha), bạn có thể xác định vị trí phần tử đích của mình dựa trên mối quan hệ. Điều này ít có khả năng thay đổi và có thể làm cho các bài kiểm tra của bạn mạnh mẽ hơn. 3
Phần tử biểu mẫu đầu tiên trong HTML
Đầu tiên đầu vào phần tử con của phần tử biểu mẫu với ID thuộc tính được đặt thành LoginForm
Đầu vào với tên thuộc tính được đặt để tiếp tục và loại thuộc tính được đặt thành nútPhần tử con đầu vào thứ tư của phần tử biểu mẫu với ID thuộc tính được đặt thành LoginForm Chẳng hạn, hãy xem xét nguồn trang này: 4Phần tử biểu mẫu có thể được định vị như thế này: 54.2. Định vị theo tên thánhSử dụng điều này khi bạn biết thuộc tính tên của một phần tử. Với chiến lược này, phần tử đầu tiên với thuộc tính tên phù hợp sẽ được trả về. Nếu không có phần tử nào có thuộc tính tên phù hợp, from selenium.webdriver.common.by import By driver.find_element(By.XPATH, '//button[text()="Some text"]') driver.find_elements(By.XPATH, '//button')3 sẽ được nêu ra. Chẳng hạn, hãy xem xét nguồn trang này: 6Phần tử tiêu đề (H2) có thể được định vị như thế này: 74.6. Định vị các yếu tố theo tên lớpSử dụng điều này khi bạn muốn định vị một phần tử theo tên lớp. Với chiến lược này, phần tử đầu tiên với thuộc tính tên lớp phù hợp sẽ được trả về. Nếu không có phần tử nào có thuộc tính tên lớp phù hợp, from selenium.webdriver.common.by import By driver.find_element(By.XPATH, '//button[text()="Some text"]') driver.find_elements(By.XPATH, '//button')3 sẽ được nâng lên. Chẳng hạn, hãy xem xét nguồn trang này: 8Phần tử P Pi có thể được định vị như thế này: 94.7. Định vị các yếu tố của CSS Selectors¶Sử dụng điều này khi bạn muốn định vị một phần tử bằng cú pháp chọn CSS. Với chiến lược này, phần tử đầu tiên phù hợp với bộ chọn CSS đã cho sẽ được trả về. Nếu không có phần tử nào khớp với bộ chọn CSS được cung cấp, sẽ được nâng lên from selenium.webdriver.common.by import By driver.find_element(By.XPATH, '//button[text()="Some text"]') driver.find_elements(By.XPATH, '//button')3. Chẳng hạn, hãy xem xét nguồn trang này: 8Phần tử P Pi có thể được định vị như thế này: from selenium.webdriver.common.by import By driver.find_element(By.XPATH, '//button[text()="Some text"]') driver.find_elements(By.XPATH, '//button')1 4.7. Định vị các yếu tố của CSS Selectors¶ Tôi có thể tìm phần tử của lớp Selenium Python không?Để tìm phần tử HTML theo thuộc tính tên lớp bằng selenium trong python, hãy gọi phương thức find_element () và chuyển qua.Class_name làm đối số đầu tiên và tên lớp (của phần tử HTML chúng ta cần tìm) làm đối số thứ hai.call find_element() method and pass By. CLASS_NAME as the first argument, and the class name (of the HTML Element we need to find) as the second argument.
Lớp Div ở đâu trong Selenium Python?findEuity (by. xpath ("// div [chứa (@Class, 'value') và chứa (@Class, 'test')]")) ;.. . . . . Làm thế nào để bạn có được tất cả các yếu tố trong một div trong selenium?Mã selenium: Danh sách obj = driver.findelements (by.xpath ("// [@id = 'container'] //*")); // để có được tất cả các yếu tố trong hệ thống phân chia.List
Làm thế nào để tôi tìm thấy một yếu tố trong selen?Cú pháp để tìm một nguyên tố trong selen.. Tên lớp.. Tên thẻ .. Văn bản liên kết.. Văn bản liên kết từng phần .. XPath.. Bộ chọn CSS .. |