Nhấp vào nút javascript selen python
Chúng ta hãy xem xét một vài cách khác nhau để thực thi các câu lệnh JavaScript thông qua Python Selenium WebDriverqua Arunkumar Velusamy Show
Thích Nhận xét Tiết kiệm tiếng riu ríu 168. 39K Lượt xem Tham gia cộng đồng DZone và có được trải nghiệm thành viên đầy đủ Tham gia miễn phíTrong hướng dẫn này, hãy phân tích tính năng ít được sử dụng nhất nhưng lại mạnh mẽ nhất của Selenium WebDriver. Vâng, tôi sẽ thảo luận về trình thực thi JavaScript và chỉ cho bạn một số cách khác nhau để thực thi các câu lệnh JavaScript thông qua Python Selenium WebDriver Có thể xảy ra trường hợp trong một số dự án thời gian thực, Selenium WebDriver không thể thực hiện tác vụ trên một phần tử web cụ thể. Ví dụ: vì WebDriver mô phỏng tương tác của người dùng cuối nên đương nhiên là nó sẽ từ chối nhấp vào phần tử mà người dùng cuối không nhìn thấy (đôi khi điều này cũng xảy ra ngay cả khi phần tử web hiển thị trên trang). Có thể có một số lý do hoặc tình huống tương tự khác Trong những trường hợp này, chúng tôi có thể dựa vào JavaScript để nhấp hoặc thực hiện các hành động trên phần tử web đó và các câu lệnh JavaScript này có thể được thực thi thông qua WebDriver Bạn có thể làm mọi thứ mà giao diện WebElement làm và hơn thế nữa với JavaScript JavaScript là gì?JavaScript là ngôn ngữ kịch bản chạy ở phía máy khách, tôi. e, trên trình duyệt và thực hiện một số điều kỳ diệu khi bạn lướt qua các trang web. Để biết thêm chi tiết, hãy tìm kiếm từ khóa "JavaScript" trên DZone Chúng tôi sử dụng JavaScript trong WebDriver như thế nào?Python Selenium WebDriver cung cấp một phương thức tích hợp sẵn
Có hai cách chúng ta có thể thực thi JavaScript trong trình duyệt Phương pháp 1. Thực thi JavaScript ở cấp gốc tài liệuTrong trường hợp này, chúng tôi nắm bắt phần tử mà chúng tôi muốn làm việc bằng cách sử dụng các phương thức do JavaScript cung cấp, sau đó khai báo một số hành động trên phần tử đó và thực thi JavaScript này bằng WebDriver Thí dụ
Chúng tôi đang làm gì ở đây?Bước 1. Chúng tôi đang kiểm tra và tìm nạp phần tử theo 'tên' thuộc tính bằng JavaScript. (Ngoài ra, các thuộc tính 'id' và 'class' có thể được sử dụng. ) Bước 2. Khai báo và thực hiện hành động nhấp chuột trên một phần tử bằng JavaScript Bước 3. Gọi phương thức exec_script() và truyền JavaScript mà chúng ta đã tạo dưới dạng giá trị chuỗi Thông báo 3 trong câu 4 ở trên. Các hàm JavaScript 5 , 6 , v.v. trả về tất cả các phần tử phù hợp như . Trong trường hợp của chúng tôi, chúng tôi cần hành động trên phần tử phù hợp đầu tiên có thể được truy cập thông qua 7 . Nếu bạn biết những gì bạn đang làm, tôi. e. , nếu bạn biết chỉ mục của phần tử bạn muốn thao tác, bạn có thể trực tiếp sử dụng chỉ mục, chẳng hạn như 8 . Tuy nhiên, nếu bạn đang sử dụng hàm JavaScript ' 9 ', thì bạn không cần sử dụng bất kỳ chỉ mục nào vì nó sẽ chỉ trả về . Trong khi thực thi, WebDriver sẽ đưa câu lệnh JavaScript vào trình duyệt và tập lệnh sẽ thực hiện công việc. Trong ví dụ của chúng tôi, nó thực hiện thao tác nhấp chuột trên phần tử đích. JavaScript này có không gian tên riêng và không can thiệp vào JavaScript trong trang web thực tế Phương pháp 2. Thực thi JavaScript ở cấp phần tửTrong trường hợp này, chúng tôi nắm bắt phần tử mà chúng tôi muốn làm việc bằng cách sử dụng WebDriver, sau đó chúng tôi khai báo một số hành động trên phần tử đó bằng JavaScript và thực thi JavaScript này bằng cách sử dụng WebDriver bằng cách chuyển phần tử web làm đối số cho JavaScript Điều này có khó hiểu không? Ví dụ
Chúng tôi đang làm gì ở đây?Bước 1. Kiểm tra và nắm bắt phần tử bằng các phương thức do WebDriver cung cấp như ' 0 '. 1Bước 2. Khai báo và thực hiện hành động nhấp chuột trên phần tử bằng JavaScript 2Bước 3. Gọi phương thức 1 với câu lệnh JavaScript mà chúng ta đã tạo dưới dạng giá trị chuỗi và phần tử web được ghi lại bằng cách sử dụng WebDriver làm đối số. 4Hai dòng mã trên có thể được rút ngắn thành định dạng bên dưới, nơi chúng tôi tìm thấy một phần tử bằng WebDriver, khai báo một số hàm JavaScript và thực thi JavaScript bằng WebDriver 5Một vấn đề khác gặp phải thường xuyên hơn là nhu cầu cuộn xuống cuối trang web. Bạn có thể thực hiện thao tác này trong một dòng mã 6Ngoài ra, bạn có thể có nhiều hơn một hành động JavaScript trong câu lệnh của mình Ví dụ 7Trong trường hợp này, việc sử dụng thứ tự các phần tử web rất quan trọng. Truy cập 2 với 3 bất kỳ đâu trong câu lệnh JavaScript sẽ truy xuất trang web đầu tiên . 0Cách trả về giá trịMột khía cạnh quan trọng khác của trình thực thi JavaScript là nó có thể được sử dụng để tìm nạp các giá trị từ các phần tử web. Điều đó có nghĩa là phương thức 1 có thể trả về giá trị. Ví dụ 0Lưu ý rằng nếu bạn muốn thứ gì đó được mã JavaScript trả về, bạn cần sử dụng return. Ngoài ra, các phần tử có thể được định vị bằng Selenium và được chuyển vào tập lệnh Điều gì xảy ra khi một phần tử không được tìm thấy?Khi JavaScript không thể tìm thấy một phần tử để hoạt động, nó sẽ đưa ra một ngoại lệ WebDriver với thông báo lỗi tương ứng Kịch bản 1. Chúng tôi đang cố gắng đọc thuộc tính bằng cách sử dụng ' 5 ' nhưng không có phần tử nào như vậy trên trang web. Chúng tôi nhận được thông báo sau trong dấu vết ngoại lệ. 1Kịch bản 2. Chúng tôi đang cố gắng sử dụng tên hàm báo lỗi hoặc thao tác không hợp lệ bên trong JavaScript, chẳng hạn như ' 6 '. (Lưu ý lỗi chính tả trong 7 tên phương thức. ) 2Tóm lượcDưới đây là tóm tắt về một vài hành động tiềm năng mà JavaScript có thể được sử dụng
Kiến thức cơ bản về JavaScript giúp ích rất nhiều khi xử lý DOM với Selenium. Bạn có thể tìm thêm chi tiết và bài viết trên trang web allselenium Làm cách nào để nhấp vào nút javascript trong Selenium Python?Thực thi javascript ở mức phần tử. Trong quá trình này, chúng tôi sẽ xác định phần tử với sự trợ giúp của các phương thức trình điều khiển web như find_element_by_xpath hoặc find_element_by_id, v.v. Sau đó thực hiện hành động cần thiết trên phần tử đó như nhấp vào phần tử . Cuối cùng, phương thức exec_script() được gọi.
Làm cách nào để chạy javascript trong Selenium Python?Chúng tôi có thể chạy Javascript trong Selenium webdriver với Python. Mô hình đối tượng tài liệu giao tiếp với các thành phần trên trang với sự trợ giúp của Javascript. Selenium thực thi các lệnh Javascript bằng cách sử dụng sự trợ giúp của phương thức exec_script . Các lệnh được thực thi được truyền dưới dạng đối số cho phương thức.
Làm cách nào để nhấp vào onclick trong Selenium webdriver Python?Chúng ta có thể nhấp vào nút bằng trình quản trị web Selenium trong Python bằng cách sử dụng phương thức nhấp chuột . Trước tiên, chúng tôi phải xác định nút sẽ được nhấp với sự trợ giúp của bất kỳ bộ định vị nào như id, tên, lớp, xpath, tên thẻ hoặc css. Sau đó, chúng ta phải áp dụng phương pháp nhấp vào nó. Một nút trong mã html được đại diện bởi tên thẻ nút.
Làm cách nào để nhấp vào nút javascript trong Selenium java?Nhấp vào một phần tử bằng JavaScript
. Nhưng trong một số trường hợp, hành động nhấp chuột không thể thực hiện được. Một ví dụ là nếu chúng ta muốn nhấp vào một phần tử bị vô hiệu hóa. Trong trường hợp đó, WebElement#click ném ra một IllegalStateException. WebElement#click method that invokes a click event on a given element. But in some cases click action is not possible. One example is if we want to click a disabled element. In that case, WebElement#click throws an IllegalStateException. |