Python에서로드 될 때까지 기다리지 않고 Selenium WebDriver (Chrome)로 페이지를 여는 방법은 무엇입니까?

브리 카스

driver.get(URL) 함수는 실행으로 돌아 가기 전에 페이지로드가 완료 될 때까지 기다립니다.

Java에는 driver.navigate().to(URL)페이지가로드 될 때까지 기다리지 않는 메서드 가 있지만 Python에서는 이러한 메서드를 찾을 수 없습니다.

파이어 폭스의 경우 실행할 수 profile.set_preference("webdriver.load.strategy", "unstable")있지만 Chrome에는 이러한 환경 설정이 없습니다.

또한이 driver.set_page_load_timeout(0.2)함께 TimeoutException하지만 처리, 예외가 처리 될 때, 크롬 드라이버는 페이지를로드 중지합니다.

편집 : 질문을 약간 바꾸고 작동하지 않는 솔루션을 추가했습니다.

파이 잔 샤 |
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().CHROME
caps["pageLoadStrategy"] = "none"   # Do not wait for full page load
driver = webdriver.Chrome(desired_capabilities=caps, executable_path="path/to/chromedriver.exe")
driver.get('some url')
#some code to run straight away

이 코드는 다음 줄로 이동하기 전에 페이지가 완전히로드 될 때까지 기다리지 않습니다. '없음'페이지로드 전략을 사용하는 경우 필요한 요소 또는 요소가로드되었는지 확인하기 위해 사용자 지정 대기를해야 할 것입니다.

다음을 사용할 수 있습니다.

import time
time.sleep()

또는 요소가로드되기 전에 필요한 시간 만 기다리려는 경우 :

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec

WebDriverWait(driver, timeout=10).until(
    ec.visibility_of_element_located((By.ID, "your_element_id"))
)

이것은 당신이하려는 모든 일에 도움이 될 것입니다. 코드를 제공하지 않았으므로 특정 웹 페이지에 대한 구체적인 답변을 제공 할 수 없기 때문에 이것이 작동한다고 가정 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관