페이지 로딩 전략을 조정하여 Selenium 테스트 속도를 높이는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-14 20:30:03
원래의
192명이 탐색했습니다.

How to Speed Up Selenium Tests by Tuning Page Loading Strategy?

느린 스크립트 로딩을 우회하도록 Selenium 조정

Selenium의 기본 동작은 계속하기 전에 페이지가 완전히 로드될 때까지 기다리는 것입니다. 페이지에 느리거나 신뢰할 수 없는 스크립트가 포함되어 있습니다. 이 문제를 완화하려면 Selenium의 페이지 로드 전략을 조정하는 것이 좋습니다.

pageLoadStrategy 속성을 사용하면 Selenium이 페이지 로드 이벤트를 처리하는 방법을 조작할 수 있습니다. 적절한 전략을 지정하면 Selenium이 기다리는 시간을 제한하고, AJAX 요청을 차단하고, 스크립트 로딩을 완전히 비활성화할 수도 있습니다.

다른 브라우저에 맞게 pageLoadStrategy 구성

Firefox:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().FIREFOX
caps["pageLoadStrategy"] = "normal"  # full page load
# caps["pageLoadStrategy"] = "eager"  # interactive
# caps["pageLoadStrategy"] = "none"
driver = webdriver.Firefox(desired_capabilities=caps, executable_path=r'C:\path\to\geckodriver.exe')
driver.get("http://google.com")
로그인 후 복사

Chrome:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().CHROME
caps["pageLoadStrategy"] = "normal"  # full page load
# caps["pageLoadStrategy"] = "eager"  # interactive
# caps["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(desired_capabilities=caps, executable_path=r'C:\path\to\chromedriver.exe')
driver.get("http://google.com")
로그인 후 복사

pageLoadStrategy 옵션

  • 일반: 전체 페이지를 기다립니다. 로드(스크립트 및 AJAX 요청 포함).
  • eager: 페이지가 대화형이 될 때까지 기다립니다. 그러면 스크립트와 AJAX가 여전히 비동기식으로 로드되는 동안 Selenium이 계속 실행될 수 있습니다.
  • none: 모든 스크립트 로딩 및 AJAX 요청을 비활성화하여 Selenium이 즉시 진행되도록 합니다.

참고: ChromeDriver 구현을 위한 "열심히" 전략이 아직 개발 중입니다. 따라서 모든 브라우저에서 완벽하게 지원되지 않을 수 있습니다.

위 내용은 페이지 로딩 전략을 조정하여 Selenium 테스트 속도를 높이는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿