Selen vui lòng bật javascript và tải lại trang

Điều đầu tiên bạn muốn làm với WebDriver là điều hướng đến một liên kết. Cách bình thường để làm điều này là gọi phương thức

element = driver.find_element[By.ID, "passwd-id"]
element = driver.find_element[By.NAME, "passwd"]
element = driver.find_element[By.XPATH, "//input[@id='passwd-id']"]
element = driver.find_element[By.CSS_SELECTOR, "input#passwd-id"]
4

driver.get["//www.google.com"]

WebDriver sẽ đợi cho đến khi trang được tải đầy đủ [nghĩa là sự kiện

element = driver.find_element[By.ID, "passwd-id"]
element = driver.find_element[By.NAME, "passwd"]
element = driver.find_element[By.XPATH, "//input[@id='passwd-id']"]
element = driver.find_element[By.CSS_SELECTOR, "input#passwd-id"]
5 đã kích hoạt] trước khi trả lại quyền kiểm soát cho thử nghiệm hoặc tập lệnh của bạn. Xin lưu ý rằng nếu trang của bạn sử dụng nhiều AJAX khi tải thì WebDriver có thể không biết khi nào nó đã tải xong. Nếu bạn cần đảm bảo các trang đó được tải đầy đủ thì bạn có thể sử dụng wait .

3. 1. Tương tác với trang¶

Chỉ có thể đi đến những nơi không hữu ích lắm. Điều chúng tôi thực sự muốn làm là tương tác với các trang hoặc cụ thể hơn là các phần tử HTML trong một trang. Trước hết, chúng ta cần tìm một. WebDriver cung cấp một số cách để tìm phần tử. Ví dụ: đưa ra một phần tử được định nghĩa là


bạn có thể tìm thấy nó bằng cách sử dụng bất kỳ

element = driver.find_element[By.ID, "passwd-id"]
element = driver.find_element[By.NAME, "passwd"]
element = driver.find_element[By.XPATH, "//input[@id='passwd-id']"]
element = driver.find_element[By.CSS_SELECTOR, "input#passwd-id"]

Bạn cũng có thể tìm kiếm một liên kết bằng văn bản của nó, nhưng hãy cẩn thận. Văn bản phải khớp chính xác. Bạn cũng nên cẩn thận khi sử dụng XPATH trong WebDriver. Nếu có nhiều phần tử khớp với truy vấn thì chỉ phần tử đầu tiên được trả về. Nếu không tìm thấy gì, một

element = driver.find_element[By.ID, "passwd-id"]
element = driver.find_element[By.NAME, "passwd"]
element = driver.find_element[By.XPATH, "//input[@id='passwd-id']"]
element = driver.find_element[By.CSS_SELECTOR, "input#passwd-id"]
6 sẽ được nêu ra

WebDriver có API “Dựa trên đối tượng”; . Điều này có nghĩa là mặc dù bạn có thể thấy rất nhiều phương pháp khả thi mà bạn có thể gọi khi nhấn tổ hợp phím tự động hoàn thành của IDE, nhưng không phải tất cả chúng đều có ý nghĩa hoặc hợp lệ. Đừng lo. WebDriver sẽ cố gắng thực hiện Điều đúng đắn và nếu bạn gọi một phương thức vô nghĩa [“setSelected[]” trên thẻ “meta” chẳng hạn], một ngoại lệ sẽ được đưa ra

Vì vậy, bạn đã có một yếu tố. bạn có thể làm gì với nó?

element.send_keys["some text"]

Bạn có thể mô phỏng cách nhấn các phím mũi tên bằng cách sử dụng lớp “Phím”

element.send_keys[" and some", Keys.ARROW_DOWN]

Có thể gọi send_keys trên bất kỳ phần tử nào, điều này cho phép kiểm tra các phím tắt, chẳng hạn như các phím tắt được sử dụng trên GMail. Một tác dụng phụ của việc này là việc nhập nội dung nào đó vào trường văn bản sẽ không tự động xóa nội dung đó. Thay vào đó, nội dung bạn nhập sẽ được thêm vào nội dung đã có. Bạn có thể dễ dàng xóa nội dung của trường văn bản hoặc vùng văn bản bằng phương thức xóa

________số 8

3. 2. Điền vào những mẫu đơn¶

Chúng ta đã biết cách nhập văn bản vào vùng văn bản hoặc trường văn bản, nhưng còn các phần tử khác thì sao? . Xử lý các thẻ CHỌN không quá tệ

element = driver.find_element[By.XPATH, "//select[@name='name']"]
all_options = element.find_elements[By.TAG_NAME, "option"]
for option in all_options:
    print["Value is: %s" % option.get_attribute["value"]]
    option.click[]

Thao tác này sẽ tìm phần tử “CHỌN” đầu tiên trên trang và lần lượt duyệt qua từng TÙY CHỌN của nó, in ra các giá trị của chúng và chọn lần lượt từng phần

Như bạn có thể thấy, đây không phải là cách hiệu quả nhất để xử lý các phần tử CHỌN. Các lớp hỗ trợ của WebDriver bao gồm một lớp được gọi là “Chọn”, cung cấp các phương thức hữu ích để tương tác với các lớp này

driver.get["//www.google.com"]
0

WebDriver cũng cung cấp các tính năng để bỏ chọn tất cả các tùy chọn đã chọn

driver.get["//www.google.com"]
1

Thao tác này sẽ bỏ chọn tất cả các TÙY CHỌN từ CHỌN cụ thể đó trên trang

Giả sử trong một bài kiểm tra, chúng ta cần danh sách tất cả các tùy chọn được chọn mặc định, lớp Select cung cấp một phương thức thuộc tính trả về một danh sách

driver.get["//www.google.com"]
2

Để có được tất cả các tùy chọn có sẵn


0

Sau khi điền xong biểu mẫu, bạn có thể muốn gửi biểu mẫu. Một cách để làm điều này là tìm nút “gửi” và nhấp vào nút đó


1

Ngoài ra, WebDriver có phương thức tiện lợi “gửi” trên mọi phần tử. Nếu bạn gọi điều này trên một phần tử trong một biểu mẫu, WebDriver sẽ truy cập DOM cho đến khi nó tìm thấy biểu mẫu kèm theo và sau đó gọi gửi trên đó. Nếu phần tử không ở dạng, thì

element = driver.find_element[By.ID, "passwd-id"]
element = driver.find_element[By.NAME, "passwd"]
element = driver.find_element[By.XPATH, "//input[@id='passwd-id']"]
element = driver.find_element[By.CSS_SELECTOR, "input#passwd-id"]
6 sẽ được nâng lên


2

3. 3. Kéo và thả¶

Bạn có thể sử dụng tính năng kéo và thả, di chuyển một phần tử theo một lượng nhất định hoặc chuyển sang phần tử khác


3

3. 4. Di chuyển giữa các cửa sổ và khung hình¶

Rất hiếm khi một ứng dụng web hiện đại không có bất kỳ khung nào hoặc bị giới hạn trong một cửa sổ. WebDriver hỗ trợ di chuyển giữa các cửa sổ được đặt tên bằng phương thức “switch_to_window”


4

Tất cả các cuộc gọi đến

element = driver.find_element[By.ID, "passwd-id"]
element = driver.find_element[By.NAME, "passwd"]
element = driver.find_element[By.XPATH, "//input[@id='passwd-id']"]
element = driver.find_element[By.CSS_SELECTOR, "input#passwd-id"]
8 bây giờ sẽ được hiểu là được chuyển hướng đến cửa sổ cụ thể. Nhưng làm thế nào để bạn biết tên của cửa sổ?


5

Ngoài ra, bạn có thể chuyển một “tay cầm cửa sổ” cho phương thức “switch_to_window[]”. Biết được điều này, có thể lặp lại trên mọi cửa sổ đang mở như vậy


6

Bạn cũng có thể chuyển từ khung này sang khung khác [hoặc vào iframe]


7

Có thể truy cập các khung con bằng cách tách đường dẫn bằng dấu chấm và bạn cũng có thể chỉ định khung theo chỉ mục của nó. Đó là


8

sẽ chuyển đến khung có tên là “con” của khung con đầu tiên của khung có tên là “frameName”. Tất cả các khung được đánh giá như thể từ *top*

Khi chúng tôi hoàn thành công việc trên các khung, chúng tôi sẽ phải quay lại khung chính có thể được thực hiện bằng cách sử dụng


9

3. 5. Hộp thoại bật lên¶

Selenium WebDriver có hỗ trợ tích hợp để xử lý các hộp thoại bật lên. Sau khi bạn đã kích hoạt hành động mở cửa sổ bật lên, bạn có thể truy cập cảnh báo bằng thông tin sau

element = driver.find_element[By.ID, "passwd-id"]
element = driver.find_element[By.NAME, "passwd"]
element = driver.find_element[By.XPATH, "//input[@id='passwd-id']"]
element = driver.find_element[By.CSS_SELECTOR, "input#passwd-id"]
0

Điều này sẽ trả về đối tượng cảnh báo hiện đang mở. Với đối tượng này, giờ đây bạn có thể chấp nhận, loại bỏ, đọc nội dung của nó hoặc thậm chí nhập vào lời nhắc. Giao diện này hoạt động tốt như nhau trên các cảnh báo, xác nhận, lời nhắc. Tham khảo tài liệu API để biết thêm thông tin

3. 6. dẫn đường. lịch sử và vị trí¶

Trước đó, chúng tôi đã đề cập đến việc điều hướng đến một trang bằng cách sử dụng lệnh “get” [

element = driver.find_element[By.ID, "passwd-id"]
element = driver.find_element[By.NAME, "passwd"]
element = driver.find_element[By.XPATH, "//input[@id='passwd-id']"]
element = driver.find_element[By.CSS_SELECTOR, "input#passwd-id"]
9]. Như bạn đã thấy, WebDriver có một số giao diện nhỏ hơn, tập trung vào tác vụ và điều hướng là một tác vụ hữu ích. Để điều hướng đến một trang, bạn có thể sử dụng phương thức get

element = driver.find_element[By.ID, "passwd-id"]
element = driver.find_element[By.NAME, "passwd"]
element = driver.find_element[By.XPATH, "//input[@id='passwd-id']"]
element = driver.find_element[By.CSS_SELECTOR, "input#passwd-id"]
1

Để di chuyển tới lui trong lịch sử trình duyệt của bạn

element = driver.find_element[By.ID, "passwd-id"]
element = driver.find_element[By.NAME, "passwd"]
element = driver.find_element[By.XPATH, "//input[@id='passwd-id']"]
element = driver.find_element[By.CSS_SELECTOR, "input#passwd-id"]
2

Xin lưu ý rằng chức năng này phụ thuộc hoàn toàn vào trình điều khiển cơ bản. Có khả năng xảy ra điều gì đó không mong muốn khi bạn gọi các phương thức này nếu bạn đã quen với hành vi của trình duyệt này đối với trình duyệt khác

3. 7. Bánh quy¶

Trước khi chuyển sang phần tiếp theo của hướng dẫn, bạn có thể quan tâm đến việc hiểu cách sử dụng cookie. Trước hết, bạn cần ở trên miền mà cookie sẽ hợp lệ

Làm cách nào để làm mới trang bằng JavaScript trong Selenium?

Để thực hiện tương tự, chúng ta phải làm theo các bước sau. .
Tạo webdriver [tại đây chromedriver cho trình duyệt chrome]
Tạo cửa sổ chrome mới bằng chromedriver
Điều hướng đến trang web geeksforgeeks bằng phương thức get
Làm mới trang bằng phương pháp làm mới

Làm cách nào để bật js trong Selenium?

Bắt đầu với Selenium bằng JavaScript. Hướng dẫn .
Bước 1. Cài đặt nút. js npm. .
Bước 2. Cài đặt Selenium WebDriver. .
Bước 3. Cài đặt Eclipse. .
Bước 4. Cài đặt Selenium Webdriver và liên kết ngôn ngữ máy khách. .
Bước 5. Tạo và chạy test script bằng JavaScript và Selenium

Selenium có tải JavaScript không?

Trình quản trị web Selenium có thể thực thi Javascript . Sau khi tải một trang, bạn có thể thực thi bất kỳ javascript nào bạn muốn. Selenium phải được cài đặt webdriver để hoạt động. Tất cả những gì cần thiết để thực thi Javascript là gọi phương thức exec_script[js] trong đó js là mã javascript của bạn.

Làm cách nào để tắt JavaScript trong Selenium?

IDE Selenium mới . Sau đó áp dụng phương thức set_preference trên đối tượng đó. Để tắt JavaScript, chúng tôi sẽ đặt tham số trình duyệt javascript. được bật thành Sai .

Chủ Đề