Hướng dẫn selenium cheat sheet python - bảng ăn gian selen python

Python là một trong những ngôn ngữ lập trình phổ biến nhất cho tự động hóa web selenium vì nó cung cấp một cú pháp đơn giản hóa và cho phép bạn thực hiện nhiều hơn với nhiều mã hơn! Do đó, Python và Selenium tạo thành một sự kết hợp lý tưởng để thực hiện kiểm tra tự động hóa web!

Show

Đối với người mới bắt đầu, selenium là một khung nguồn mở chủ yếu được sử dụng để tự động hóa các tương tác trên các webels trong AUT (ứng dụng được thử nghiệm). Cùng với Python, Selenium cũng hỗ trợ Java, C#, JavaScript, Ruby và PHP. Tuy nhiên, theo kinh nghiệm của tôi, sẽ công bằng khi đề cập rằng Python sẽ là ngôn ngữ ưa thích nhất của tôi đối với tự động hóa web Selenium.

Giống như tôi, nhiều hơn và nhiều nhà phát triển đang chọn Python, được đánh giá là ngôn ngữ phổ biến thứ ba theo thứ ba theo khảo sát của nhà phát triển Overflow Overflow năm 2021. Do đó, một bảng gian lận Selenium Python có thể phục vụ mục đích cung cấp thông tin chi tiết về Selenium Python hữu ích API để hiện thực hóa tự động hóa các trang web (hoặc ứng dụng web).

Nếu bạn mới sử dụng selenium và tự hỏi nó là gì thì chúng tôi khuyên bạn nên kiểm tra hướng dẫn của chúng tôi - selen là gì?

Trong blog này, chúng tôi khám phá gói Python cung cấp các ràng buộc Python cho selenium webdriver. Để cài đặt gói Selenium WebDriver, chúng tôi sử dụng Chỉ số gói Python (PYPI). Chạy lệnh sau trên thiết bị đầu cuối để cài đặt selen cho Python:

Nếu bạn muốn chạy các tập lệnh kiểm tra Python của mình qua lưới selen trực tuyến thì hãy tận dụng Lambdatest cho tự động hóa thử nghiệm của bạn.👇

Hướng dẫn selenium cheat sheet python - bảng ăn gian selen python

Thư viện Python này bao bọc Selenium WebDriver và cung cấp các phương thức để tự động hóa một loạt các tác vụ như điền vào biểu mẫu, đăng nhập vào một trang web, nhấp vào các nút và hơn thế nữa. Ngoài ra, bạn có thể có một cái nhìn về hướng dẫn Selenium Python rằng sâu các khía cạnh không thể thiếu của Selenium Python từ quan điểm kiểm tra tự động hóa web.

Các lệnh được đề cập trong bảng cheat Selenium Python này có thể được sử dụng như một nguồn tài nguyên tiện dụng cho bất kỳ ai chơi đùa với Selenium và Python để tự động hóa các ứng dụng web. Nếu bạn cần một bản tóm tắt nhanh chóng về Python với selenium, hãy xem hướng dẫn đi sâu vào kiến ​​trúc Selenium WebDriver và nêu bật các khía cạnh không thể thiếu liên quan đến selenium webdriver với Python. Hãy để đá bắt đầu bảng cheat selenium của chúng tôi với Python!

1. Nhập thư viện selen

Trước khi bạn có thể sử dụng bất kỳ lệnh Selenium Python nào, bạn cần nhập gói Selenium WebDriver.

từ Selenium Nhập WebDriverselenium import webdriver

2. Khởi tạo trình điều khiển với Python

Sau khi tải xuống trình điều khiển trình duyệt tương ứng, bạn cần khởi động trình điều khiển Selenium WebDriver và trình duyệt (ví dụ: Chromedriver cho Chrome, Geckodriver cho Firefox, v.v.).

  • Cho Chrome
  • # Khởi tạo Chrome WebDriver

    driver=webdriver.Chrome()=webdriver.Chrome()

  • Cho Firefox
  • # Khởi tạo Firefox/Gecko WebDriver

    driver=webdriver.Firefox()=webdriver.Firefox()

  • Cho safari
  • # Khởi tạo Safari WebDriver

    driver=webdriver.Safari()=webdriver.Safari()

  • Cho Internet Explorer
  • # Khởi tạo IE WebDriver

    driver=webdriver.Ie()=webdriver.Ie()

Trong trường hợp vị trí của trình điều khiển trình duyệt không được thêm vào biến đường dẫn (hoặc nếu nó không nằm trong đường dẫn hệ thống), bạn cần thêm các đối số sau:

  1. Executable_path: Đường dẫn đến Selenium WebDriver (Tệp nhị phân) của bạn)
  2. Tùy chọn: Tùy chọn liên quan đến thực thi trình duyệt web

Thí dụ

driver=webdriver.Chrome(executable_path="/usr/bin/chromedriver/",options=chrome_options)=webdriver.Chrome(executable_path="/usr/bin/chromedriver/",options=chrome_options)

3. Đặt các tùy chọn trong selenium webdriver

Lớp Tùy chọn trong Selenium Python thường được sử dụng cùng với các khả năng mong muốn để tùy chỉnh Selenium WebDriver.

Nó giúp thực hiện các hoạt động khác nhau như mở trình duyệt (Chrome, Firefox, Safari, IE, Edge, v.v.) ở chế độ tối đa hóa, cho phép và vô hiệu hóa các phần mở rộng trình duyệt, vô hiệu hóa chế độ GPU, vô hiệu hóa cửa sổ bật lên và hơn thế nữa. Do đó, điều quan trọng là phải thành thạo phần này của bảng gian lận Selenium Python vì nó sẽ giúp giải quyết các vấn đề cụ thể của tự động hóa web Python liên quan đến việc thay đổi các thuộc tính trình duyệt mà chúng tôi đã đề cập trước đó.

  • Cho Chrome
  1. # Khởi tạo Chrome WebDriver
  2. từ Selenium Nhập WebDriverselenium import webdriver

    2. Khởi tạo trình điều khiển với Pythonselenium.webdriver.chrome.options import Options

  3. Sau khi tải xuống trình điều khiển trình duyệt tương ứng, bạn cần khởi động trình điều khiển Selenium WebDriver và trình duyệt (ví dụ: Chromedriver cho Chrome, Geckodriver cho Firefox, v.v.).
  4. chrome_options=Options()=Options()

  5. Cho Chrome
  6. chrome_options.add_argument("--disable-extensions").add_argument("--disable-extensions")

  7. # Khởi tạo Chrome WebDriver
  8. driver=webdriver.Chrome(chrome_options=chrome_options)=webdriver.Chrome(chrome_options=chrome_options)

  • Cho Firefox
  1. # Khởi tạo Firefox/Gecko WebDriver
  2. từ Selenium Nhập WebDriverselenium import webdriver

    2. Khởi tạo trình điều khiển với Pythonselenium.webdriver.firefox.options import Options

  3. Sau khi tải xuống trình điều khiển trình duyệt tương ứng, bạn cần khởi động trình điều khiển Selenium WebDriver và trình duyệt (ví dụ: Chromedriver cho Chrome, Geckodriver cho Firefox, v.v.).
  4. firefox_options=Options()=Options()

  5. Cho Chrome
  6. firefox_options.set_headless().set_headless()

  7. # Khởi tạo Chrome WebDriver
  8. driver=webdriver.Firefox(options=firefox_options)=webdriver.Firefox(options=firefox_options)

4. Tìm một yếu tố

Các định vị trong selen được sử dụng chủ yếu để định vị các webels có trong DOM. Các tương tác (hoặc hành động) phù hợp được thực hiện thêm trên các webelement. Một số trình định vị web selen phổ biến là ID, tên, văn bản liên kết, văn bản liên kết một phần, bộ chọn CSS, XPath, TagName, v.v.

Định vị các phần tử theo thuộc tính ID

Trong phương thức này, phần tử trong DOM được tìm kiếm bằng thuộc tính ID. ID là duy nhất cho mọi yếu tố trên trang. Do đó, một ID có thể xác định duy nhất một yếu tố. Ví dụ: hiển thị bên dưới là việc sử dụng thuộc tính ID để định vị các webelements trên trang đăng nhập Lambdatest:

Hướng dẫn selenium cheat sheet python - bảng ăn gian selen python

Đây là cách bạn có thể sử dụng thuộc tính ID trong Selenium Python:

từ Selenium Nhập WebDriverselenium import webdriver

driver=webdriver.Chrome()=webdriver.Chrome()

driver.get("https://www.lambdatest.com").get("https://www.lambdatest.com")

email_form=driver.find_element_by_id("testing_form")= driver.find_element_by_id("testing_form")

Định vị các phần tử theo lớp CSS

Các phần tử trong HTML DOM cũng có thể được tìm kiếm bằng tên lớp, được lưu trữ trong thuộc tính lớp của thẻ HTML. Một lớp học có thể có nhiều trường hợp; Nó trả về phần tử đầu tiên với một lớp phù hợp.

Hướng dẫn selenium cheat sheet python - bảng ăn gian selen python

Dưới đây là cách tên lớp được sử dụng để định vị phần tử địa chỉ email trên trang Lambdatest:

từ Selenium Nhập WebDriverselenium import webdriver

driver=webdriver.Chrome()=webdriver.Chrome()

driver.get("https://www.lambdatest.com").get("https://www.lambdatest.com")

Định vị các phần tử theo lớp CSS= driver.find_element_by_class_name(" form-control ")

Các phần tử trong HTML DOM cũng có thể được tìm kiếm bằng tên lớp, được lưu trữ trong thuộc tính lớp của thẻ HTML. Một lớp học có thể có nhiều trường hợp; Nó trả về phần tử đầu tiên với một lớp phù hợp.

Dưới đây là cách tên lớp được sử dụng để định vị phần tử địa chỉ email trên trang Lambdatest:

first_form_input = driver.find_element_by_class_name ("kiểm soát hình thức")

Định vị các yếu tố theo têninput name="name"type="text"value="user name"/>

Các webelement như thẻ đầu vào có thuộc tính tên được liên kết với chúng. Selenium cũng cung cấp một phương thức để tìm kiếm các webelement bằng thuộc tính tên. Nếu có nhiều phần tử cùng tên, phần tử được khớp đầu tiên được trả về bằng phương thức.

từ Selenium Nhập WebDriverselenium import webdriver

driver=webdriver.Chrome()=webdriver.Chrome()

driver.get("https://www.lambdatest.com").get("https://www.lambdatest.com")

Định vị các phần tử theo lớp CSS

name_input=driver.find_element_by_name("name") =driver.find_element_by_name("name")

Các phần tử trong HTML DOM cũng có thể được tìm kiếm bằng tên lớp, được lưu trữ trong thuộc tính lớp của thẻ HTML. Một lớp học có thể có nhiều trường hợp; Nó trả về phần tử đầu tiên với một lớp phù hợp.

Dưới đây là cách tên lớp được sử dụng để định vị phần tử địa chỉ email trên trang Lambdatest:

Hướng dẫn selenium cheat sheet python - bảng ăn gian selen python

first_form_input = driver.find_element_by_class_name ("kiểm soát hình thức")

từ Selenium Nhập WebDriverselenium import webdriver

driver=webdriver.Chrome()=webdriver.Chrome()

driver.get("https://www.lambdatest.com").get("https://www.lambdatest.com")

email_input=driver.find_element_by_xpath("//input[@name='email']")= driver.find_element_by_xpath("//input[@name='email']")

Định vị các phần tử theo lớp CSS

Các phần tử trong HTML DOM cũng có thể được tìm kiếm bằng tên lớp, được lưu trữ trong thuộc tính lớp của thẻ HTML. Một lớp học có thể có nhiều trường hợp; Nó trả về phần tử đầu tiên với một lớp phù hợp.

Hướng dẫn selenium cheat sheet python - bảng ăn gian selen python

Dưới đây là cách tên lớp được sử dụng để định vị phần tử địa chỉ email trên trang Lambdatest:

từ Selenium Nhập WebDriverselenium import webdriver

driver=webdriver.Chrome()=webdriver.Chrome()

driver.get("https://www.lambdatest.com").get("https://www.lambdatest.com")

email_input=driver.find_element_by_tag_name("input")= driver.find_element_by_tag_name("input")

Định vị các phần tử theo lớp CSS

Các phần tử trong HTML DOM cũng có thể được tìm kiếm bằng tên lớp, được lưu trữ trong thuộc tính lớp của thẻ HTML. Một lớp học có thể có nhiều trường hợp; Nó trả về phần tử đầu tiên với một lớp phù hợp.

Dưới đây là cách tên lớp được sử dụng để định vị phần tử địa chỉ email trên trang Lambdatest:

Hướng dẫn selenium cheat sheet python - bảng ăn gian selen python

first_form_input = driver.find_element_by_class_name ("kiểm soát hình thức")

từ Selenium Nhập WebDriverselenium import webdriver

driver=webdriver.Chrome()=webdriver.Chrome()

driver.get("https://www.lambdatest.com").get("https://www.lambdatest.com")

Định vị các phần tử theo lớp CSS= driver.find_element_by_link_text('Start Free Testing')

Các phần tử trong HTML DOM cũng có thể được tìm kiếm bằng tên lớp, được lưu trữ trong thuộc tính lớp của thẻ HTML. Một lớp học có thể có nhiều trường hợp; Nó trả về phần tử đầu tiên với một lớp phù hợp.

từ Selenium Nhập WebDriverselenium import webdriver

driver=webdriver.Chrome()=webdriver.Chrome()

driver.get("https://www.lambdatest.com").get("https://www.lambdatest.com")

Định vị các phần tử theo lớp CSS= driver.find_element_by_partial_link_text('Start Free')

Các phần tử trong HTML DOM cũng có thể được tìm kiếm bằng tên lớp, được lưu trữ trong thuộc tính lớp của thẻ HTML. Một lớp học có thể có nhiều trường hợp; Nó trả về phần tử đầu tiên với một lớp phù hợp.

Dưới đây là cách tên lớp được sử dụng để định vị phần tử địa chỉ email trên trang Lambdatest:

first_form_input = driver.find_element_by_class_name ("kiểm soát hình thức")

  • Định vị các yếu tố theo tên – It returns the first instance from multiple web elements with a particular attribute in the DOM. The method throws NoSuchElementException if no web elements are matching the required web locator. Check out our blog on common Selenium exceptions to gather a deeper understanding of when a particular Selenium exception is raised.
  • Find_elements - Nó trả về một danh sách tất cả các trường hợp của các webelement phù hợp với một thuộc tính cụ thể. Danh sách trống trong trường hợp không có các yếu tố phù hợp trong DOM. – It returns a list of all the instances of WebElements matching a particular attribute. The list is empty in case there are no matching elements in the DOM.

Dưới đây là các thuộc tính có sẵn cho theo lớp:

  • Id = id id ”
  • Xpath = “Xpath”
  • Tên = tên tên ”
  • Tag_name = tên thẻ tên ”
  • Class_name = tên lớp học ”
  • Link_text = "liên kết văn bản"
  • Partial_link_text = văn bản liên kết một phần

Được hiển thị bên dưới là một ví dụ về phương thức find_element sử dụng trình định vị XPath để xác định vị trí WebEuity mong muốn:

từ selenium.webdriver.common.by nhập bằng cáchselenium.webdriver.common.by import By

driver.find_element(By.XPATH,'//input[name()="password"]').find_element(By.XPATH,'//input[name()="password"]')

driver.find_elements(By.XPATH,'//input').find_elements(By.XPATH, '//input')

6. Mở URL (hoặc tài liệu)

Trước khi thực hiện bất kỳ hoạt động nào trên các webels có trên trang, việc mở URL mục tiêu (hoặc URL thử nghiệm) là rất quan trọng. Dưới đây là một số cách để mở URL trong Selenium Python:

driver.get(URL)

Phương thức trình điều khiển () điều hướng đến trang được truyền dưới dạng tham số cho phương thức. Selenium WebDriver sẽ đợi cho đến khi trang đã được tải đầy đủ, đăng mà nó kích hoạt một sự kiện của On Onload trước khi trả lại quyền kiểm soát cho tập lệnh kiểm tra. Bạn có thể xem blog của chúng tôi trên Selenium Waits in Python để hiểu thêm về việc xử lý sự chờ đợi ở Selenium Python.

driver.get("https://www.lambdatest.com").get("https://www.lambdatest.com")

7. Làm mới một trang

Có những kịch bản mà bạn muốn làm mới nội dung trên trang. Phương pháp làm mới của selenium webdriver được sử dụng để làm mới một trang web.

Phương thức trình điều khiển.Refresh () làm mới trang web hiện tại. Nó không lấy bất kỳ đối số cũng như trả lại bất kỳ giá trị nào.

8. Viết văn bản bên trong một webelement

Phương thức Send_Keys () trong Python được sử dụng để nhập văn bản bên trong một phần tử văn bản. Văn bản được nhập được truyền như một đối số cho phương thức. Phương pháp tương tự cũng có thể được sử dụng để mô phỏng các lần nhấn phím trên bất kỳ trường nào (ví dụ: các trường đầu vào của biểu mẫu).

Dưới đây là một ví dụ sử dụng phương thức send_keys () trong đó địa chỉ email được chuyển đến phần tử văn bản trên trang đăng ký LambDatest:

từ Selenium Nhập WebDriverselenium import webdriver

# Tạo đối tượng WebDriver

driver=webdriver.Chrome()=webdriver.Chrome()

# Nhận Lambdatest

driver.get("https://www.lambdatest.com/").get("https://www.lambdatest.com/")

# Nhận phần tử

element=driver.find_element_by_id("useremail") =driver.find_element_by_id("useremail")

# Gửi chìa khóa

element.send_keys("").send_keys("")

9. Xóa văn bản của một webelement

Phương thức phần tử.clear () trong selenium python được sử dụng để xóa văn bản khỏi các trường như các trường đầu vào của một biểu mẫu, v.v.

Dưới đây là cách phương thức rõ ràng được sử dụng để xóa nội dung trong hộp đầu vào email trên trang chủ Lambdatest:

từ Selenium Nhập WebDriverselenium import webdriver

# Tạo đối tượng WebDriver

driver=webdriver.Chrome()=webdriver.Chrome()

# Nhận Lambdatest

driver.get("https://www.lambdatest.com/").get("https://www.lambdatest.com/")

# Nhận phần tử

element=driver.find_element_by_id("useremail") =driver.find_element_by_id("useremail")

# Gửi chìa khóa

element.clear().clear()

9. Xóa văn bản của một webelement

Phương thức phần tử.clear () trong selenium python được sử dụng để xóa văn bản khỏi các trường như các trường đầu vào của một biểu mẫu, v.v.

Dưới đây là cách phương thức rõ ràng được sử dụng để xóa nội dung trong hộp đầu vào email trên trang chủ Lambdatest:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

từ Selenium Nhập WebDriverselenium import webdriver

# Tạo đối tượng WebDriver

driver=webdriver.Chrome()=webdriver.Chrome()

# Nhận Lambdatest

driver.get("https://www.lambdatest.com/").get("https://www.lambdatest.com/")

# Nhận phần tử

element=driver.find_element_by_id("useremail") =driver.find_element_by_id("useremail")

# Gửi chìa khóa

element.send_keys("").send_keys("")

# Nhận phần tử

# Gửi chìa khóa= driver.find_element_by_link_text("Start Free Testing")

9. Xóa văn bản của một webelement

button_element.click().click()

Phương thức phần tử.clear () trong selenium python được sử dụng để xóa văn bản khỏi các trường như các trường đầu vào của một biểu mẫu, v.v.

Dưới đây là cách phương thức rõ ràng được sử dụng để xóa nội dung trong hộp đầu vào email trên trang chủ Lambdatest:

10. Nhấp vào WebEuity

Phương thức phần tử.click () trong selenium python được sử dụng để nhấp vào một phần tử như thẻ neo, thẻ nút, v.v.

element=driver.find_element_by_name("source")=driver.find_element_by_name("source")

target=driver.find_element_by_name("target")=driver.find_element_by_name("target")

Dưới đây là cách nhấp vào nút trên trang chủ Lambdatest bằng phương thức Click ():selenium.webdriver import ActionChains

action_chains=ActionChains(driver)=ActionChains(driver)

action_chains.drag_and_drop(element,target).perform().drag_and_drop(element,target).perform()

# Nhấp vào phần tử

11. Kéo và thả một webelement

Kéo và thả một đối tượng là một trong những kịch bản được sử dụng rộng rãi trong các ứng dụng phổ biến (hoặc phần mềm) như Canva, Google Drive, Trello, Asana, v.v. từ nguồn và thả chúng trên khu vực mục tiêu (hoặc phần tử).selenium.webdriver.support.ui import Select

select=Select(driver.find_element_by_id('city'))=Select(driver.find_element_by_id('city'))

select.select_by_index(index).select_by_index(index)

select.select_by_visible_text("text").select_by_visible_text("text")

select.select_by_value(value).select_by_value(value)

Dưới đây là một số cách khác nhau trong đó phần tử mong muốn được chọn bằng phương thức select_by _*():

Phương pháp

Sự mô tả

select_by_index(index)

Phương thức này lấy một giá trị số nguyên là chỉ mục của tùy chọn mà chúng tôi dự định chọn.

select_by_visible_text (văn bản trực tuyến)

Phương thức này lấy một giá trị chuỗi và chọn tùy chọn hiển thị cùng một văn bản.

select_by_value(value)

Phương thức này có giá trị chuỗi và chọn một tùy chọn có cùng thuộc tính giá trị.

deselect_all()

Phương pháp này cho phép bạn bỏ chọn tất cả các tùy chọn đã chọn.

Hướng dẫn selenium cheat sheet python - bảng ăn gian selen python

13. Điều hướng giữa các cửa sổ

Nếu có nhiều cửa sổ, bạn có thể cần chuyển sang cửa sổ bên phải trước khi thực hiện các hành động trên các webels có trong DOM.

trình điều khiển.switch_to_window (Window window_name,)

Phương thức selenium webdriver cho phép bạn chuyển sang cửa sổ mong muốn. Tay cầm cửa sổ được truyền dưới dạng đối số cho phương thức switch_to_window ().

driver.switch_to_window("window_handle").switch_to_window("window_handle")

Tất cả các cuộc gọi tiếp theo của WebDriver hiện có thể áp dụng cho cửa sổ dưới tiêu điểm (hoặc cửa sổ mới được chuyển đổi).

trình điều khiển.window_handles

Window_handles thuộc tính của WebDriver trả về tay cầm của các cửa sổ. Bây giờ bạn có thể sử dụng phương thức switch_to_window () để điều hướng đến từng cửa sổ có sẵn trong danh sách window_handles.

forHandle indriver.window_handles:handle indriver.window_handles:

    driver.switch_to_window(handle)driver.switch_to_window(handle)

trình điều khiển.current_window_handle

Phương thức current_window_handle () trả về tay cầm của cửa sổ hiện tại (hoặc cửa sổ hiện đang được lấy nét)

handler=driver.current_window_handle=driver.current_window_handle

14. Chuyển sang IfRames

Selenium WebDriver không thể truy cập hoặc xác định vị trí các phần tử web bên trong iframe trong bối cảnh của trang web chính. Do đó, bạn cần chuyển sang iframe trước khi truy cập các webels bên trong iframe.

trình điều khiển.switch_to_frame (Khăn Frame_Name))

Phương thức switch_to_frame () trong selenium python cho phép bạn chuyển bối cảnh của webdriver từ bối cảnh của trang chính. Chúng ta cũng có thể truy cập các khung con bằng cách tách đường dẫn và chỉ mục bằng một dấu chấm.

driver.switch_to_frame("frame_name.0.child").switch_to_frame("frame_name.0.child")

driver.switch_to_default_content()

Phương pháp này cho phép bạn quay trở lại bối cảnh của trang chính.

driver.switch_to_default_content().switch_to_default_content()

15. Xử lý cửa sổ bật lên và cảnh báo

Có ba loại cửa sổ bật lên chính và cảnh báo thường được sử dụng trong các ứng dụng web:

  • Cảnh báo đơn giản
  • Thông báo xác nhận
  • Thông báo nhanh chóng

Bạn có tùy chọn để chuyển sang cảnh báo, bác bỏ cảnh báo hoặc chấp nhận cảnh báo. Bạn có thể xem hướng dẫn chi tiết của chúng tôi về các cảnh báo xử lý và cửa sổ bật lên trong selen. Mặc dù ngôn ngữ được sử dụng là C#, nhưng các nguyên tắc cơ bản của các cảnh báo và cửa sổ bật lên vẫn giống nhau!

driver.switch_to.alert

Thuộc tính Switch_TO.Alert của WebDriver trả về đối tượng cảnh báo hiện đang mở. Bạn có thể sử dụng đối tượng để chấp nhận, loại bỏ, đọc nội dung của nó hoặc nhập vào dấu nhắc.

alert_obj=driver.switch_to.alert=driver.switch_to.alert

alert_obj.accept()

Khi bạn có tay cầm của cửa sổ cảnh báo (ví dụ: alert_obj), phương thức Accept () được sử dụng để chấp nhận cửa sổ bật lên cảnh báo.

alert_obj = Driver.switch_to.alert=driver.switch_to.alert

alert_obj.accept().accept()

alert_obj.dismiss()

Khi bạn đã chuyển sang cửa sổ cảnh báo (ví dụ: ALERT_OBJ), bạn có thể sử dụng phương thức Demiss () để hủy cửa sổ bật lên cảnh báo.

alert_obj = Driver.switch_to.alert=driver.switch_to.alert

alert_obj.accept().accept()

alert_obj.text()

Khi bạn đã chuyển sang cửa sổ cảnh báo (ví dụ: ALERT_OBJ), bạn có thể sử dụng phương thức Demiss () để hủy cửa sổ bật lên cảnh báo.

alert_obj = Driver.switch_to.alert=driver.switch_to.alert

msg=alert_obj.text()=alert_obj.text()

print(msg)(msg)

Khi bạn đã chuyển sang cửa sổ cảnh báo (ví dụ: ALERT_OBJ), bạn có thể sử dụng phương thức Demiss () để hủy cửa sổ bật lên cảnh báo.

Phương pháp này được sử dụng để truy xuất thông báo có trong cửa sổ bật lên cảnh báo.

page_source=driver.page_source=driver.page_source

16. Nhận nguồn trang

Phương thức page_source () trong selenium webdriver được sử dụng để lấy nguồn tài liệu đích (hoặc trang thử nghiệm).

driver.forward()

17. Lịch sử trình duyệt điều hướng

driver.back()

Selenium WebDriver trong Python cung cấp một số chức năng để di chuyển về phía sau và chuyển tiếp trong lịch sử trình duyệt web

Phương pháp này cho phép các tập lệnh điều hướng một bước về phía trước trong lịch sử.

Phương pháp này cho phép các tập lệnh điều hướng lùi một bước trong lịch sử.

18. Xử lý cookie trong selen

Xử lý cookie trong Selenium WebDriver là một trong những tình huống phổ biến mà bạn có thể phải đối phó trong tự động hóa web Selenium. Bạn có thể thực hiện các hoạt động khác nhau như thêm, xóa, lấy tên cookie và hơn thế nữa.

driver.get("https://www.lambdatest.com/").get("https://www.lambdatest.com/")

Phương pháp này giúp đặt cookie thành phiên selen. Nó chấp nhận các giá trị trong cặp giá trị khóa.

cookie={'name':'user','value':'vinayak'}={'name':'user','value':'vinayak'}

driver.add_cookie(cookie).add_cookie(cookie)

driver.get_cookies()

# Chuyển đến miền

Xử lý cookie trong Selenium WebDriver là một trong những tình huống phổ biến mà bạn có thể phải đối phó trong tự động hóa web Selenium. Bạn có thể thực hiện các hoạt động khác nhau như thêm, xóa, lấy tên cookie và hơn thế nữa.

driver.get("https://www.lambdatest.com/").get("https://www.lambdatest.com/")

driver.get_cookies().get_cookies()

Có một tùy chọn để xóa một cookie cụ thể hoặc tất cả các cookie liên quan đến phiên selen hiện tại.

# Xóa một cookie

driver.delete_cookie(cookie).delete_cookie(cookie)

# Xóa tất cả các cookie

driver.delete_all_cookies().delete_all_cookies()

Xem video này để hiểu cách bạn có thể xử lý cookie và thực hiện các hoạt động khác nhau như xóa, nhận các giá trị tham số và thêm chúng vào selenium webdriver bằng Java.

19. Cài đặt kích thước cửa sổ

Phương thức set_window_size () được sử dụng để đặt kích thước cửa sổ trình duyệt thành kích thước mong muốn (về chiều cao và chiều rộng).

# Đặt kích thước cửa sổ thành 1200 * 800

driver.set_window_size(1200,800).set_window_size(1200,800)

20. Cấu hình thời gian chờ trong selenium webdriver

Khi trình duyệt tải một trang, các webels bên trong trang có thể tải trong các khoảng thời gian khác nhau. Điều này có thể tạo ra các biến chứng khi tương tác với các yếu tố động có trên trang.

Nếu một phần tử không có trong DOM của trang web, phương thức định vị sẽ tăng một ngoại lệ. Chờ trong selenium cho phép bạn thêm độ trễ (tính theo MS hoặc giây) giữa các hành động được thực hiện giữa việc tải trang và định vị webelement cần thiết.

Chờ đợi và chờ đợi rõ ràng là hai cách chính bạn có thể thêm sự chậm trễ trong mã python selenium để xử lý các webele động trên trang.

Chờ đợi trong Selenium Python

Một sự chờ đợi ngầm thông báo cho selenium webdriver để kiểm tra DOM trong một khoảng thời gian cụ thể khi cố gắng tìm webelement không có sẵn ngay lập tức để truy cập.

Theo mặc định, chờ đợi ngầm được đặt là 0. Tuy nhiên, một khi chúng tôi xác định sự chờ đợi ngầm, nó được đặt cho thời gian sử dụng của đối tượng WebDriver. Kiểm tra hướng dẫn chi tiết của chúng tôi cho thấy việc sử dụng sự chờ đợi ngầm trong Selenium Python chi tiết hơn.

từ Selenium Nhập WebDriverselenium import webdriver

driver=webdriver.Chrome()=webdriver.Chrome()

Trình điều khiển.Implicitly_wait (10)# trong giây.implicitly_wait(10)# in seconds

driver.get("https://www.lambdatest.com/").get("https://www.lambdatest.com/")

element=driver.find_element_by_id("testing_form")=driver.find_element_by_id("testing_form")

Chờ đợi rõ ràng trong Selenium Python

Chờ đợi rõ ràng trong Selenium Python được sử dụng khi chúng tôi muốn chờ đợi một điều kiện cụ thể xảy ra trước khi tiến hành thêm trong mã.

Có một số phương pháp thuận tiện được cung cấp bởi selenium webdriver cho phép bạn đợi cho đến khi một điều kiện cụ thể được thỏa mãn. Ví dụ, sự chờ đợi rõ ràng có thể đạt được bằng cách sử dụng lớp WebDriverWait kết hợp với các điều kiện dự kiến ​​trong selen.

Dưới đây là một số điều kiện dự kiến ​​có thể được sử dụng cùng với sự chờ đợi rõ ràng trong Selenium Python:

  • presence_of_all_elements_located
  • text_to_be_present_in_element
  • text_to_be_present_in_element_value
  • frame_to_be_available_and_switch_to_it
  • Invisility_of_element_located
  • title_is
  • title_contains
  • presence_of_element_located
  • visibility_of_element_located
  • visibility_of
  • element_located_selection_state_to_be
  • alert_is_present
  • element_to_be_clickable
  • staleness_of
  • element_to_be_selected
  • element_located_to_be_selected
  • Element_selection_state_to_be

Được hiển thị dưới đây là một ví dụ thể hiện việc sử dụng chờ đợi rõ ràng trong đó việc chờ đợi không chặn 10 giây được thực hiện cho đến khi đặt webelement cần thiết (sử dụng thuộc tính ID của nó):

từ Selenium Nhập WebDriverselenium import webdriver

Trình điều khiển.Implicitly_wait (10)# trong giâyselenium.webdriver.common.by import By

Chờ đợi rõ ràng trong Selenium Pythonselenium.webdriver.support.ui import WebDriverWait

Chờ đợi rõ ràng trong Selenium Python được sử dụng khi chúng tôi muốn chờ đợi một điều kiện cụ thể xảy ra trước khi tiến hành thêm trong mã.selenium.webdriver.support import expected_conditions asEC

driver=webdriver.Chrome()=webdriver.Chrome()

driver.get("https://www.lambdatest.com/").get("https://www.lambdatest.com/")

try::

    element=WebDriverWait(driver,10).until(element=WebDriverWait(driver,10).until(

        EC.presence_of_element_located((By.ID,"testing_form"))EC.presence_of_element_located((By.ID, "testing_form"))

    ))

except::

Có một số phương pháp thuận tiện được cung cấp bởi selenium webdriver cho phép bạn đợi cho đến khi một điều kiện cụ thể được thỏa mãn. Ví dụ, sự chờ đợi rõ ràng có thể đạt được bằng cách sử dụng lớp WebDriverWait kết hợp với các điều kiện dự kiến ​​trong selen.print(some error happen!!)

Dưới đây là một số điều kiện dự kiến ​​có thể được sử dụng cùng với sự chờ đợi rõ ràng trong Selenium Python:

Invisility_of_element_located

Được hiển thị dưới đây là một ví dụ thể hiện việc sử dụng chờ đợi rõ ràng trong đó việc chờ đợi không chặn 10 giây được thực hiện cho đến khi đặt webelement cần thiết (sử dụng thuộc tính ID của nó):

từ selenium.webdriver.common.by nhập bằng cách

từ selenium.webdriver.support.ui Nhập WebDriverWait

capture_path='C:/capture/your_desired_filename.png'='C:/capture/your_desired_filename.png'

driver.save_screenshot(capture_path).save_screenshot(capture_path)

từ selenium.webdriver.sport nhập khẩu dự kiến_conditions ASEC

Dưới đây, một cái nhìn thoáng qua về chứng nhận Selenium Python 101 từ Lambdatest:

Sự kết luận

Bắt đầu với thử nghiệm Selenium Python và quá miễn phí !!! Python là một trong những ngôn ngữ phổ biến nhất và không có sự phủ nhận rằng bạn có thể chạy các hoạt động selen phức tạp với một vài dòng mã. Trong bảng cheat Selenium Python này, chúng tôi đã đề cập đến một số lệnh selenium python được sử dụng rộng rãi chủ yếu được sử dụng để kiểm tra khả năng tương thích của trình duyệt chéo.

Bảng gian lận selen này có thể được sử dụng làm hướng dẫn (hoặc tham chiếu) để nhanh chóng đề cập đến các lệnh có thể được quan tâm cho mã kiểm tra của bạn. Tôi hy vọng rằng bạn thấy tấm cheat Selenium Python này hữu ích, hãy cho tôi biết nếu bạn bắt gặp bất kỳ lệnh Selenium Python nào nên là một phần của tờ.

Thử nghiệm tự động hóa vui vẻ với Python!

Vinayak Sharma

Nhà phát triển Python đầy đủ và một người đam mê công nghệ với các kỹ năng giao tiếp và giao tiếp mạnh mẽ. Có khả năng thích ứng cao với môi trường mới, thách thức và tăng mức độ trách nhiệm.