>source

python과 함께 Selenium을 사용하여 webElements 목록을 반복하고 클릭하려고 시도합니다. 첫 번째 요소는 항상 잘 진행되지만 두 번째 클릭은 항상 예외를 throw합니다. 나는 목록을 확인했고 목록은 내가 정말로 클릭하고 싶은 모든 요소로 구성되어 있으며, href 속성을 인쇄하여 수행했습니다.

내 코드는 다음과 같습니다.

for img in imgs:
    try:
        time.sleep(3)
        driver.get(img.get_attribute('href'))
        # img.click()
        # I tried both click and driver.get and doesn't worked.
    except:
        print("something went wrong")
        continue
        # always second iteration enters here
    driver.back()

도우미들이 축복을 받기를 :)

  • 답변 # 1

    hrefs = [ img.get_attribute("href") for img in Imgs]
    for href in hrefs:
        try:
            time.sleep(3)
            href.click()
        except Exception as e:
            print(e)
            continue
    
        driver.back()
    
    

    항상 예외를 인쇄하고 이해하지 못하는 것을 포착하고 인쇄하지 마십시오.

    첫 번째 클릭 후 일부 href 링크를 클릭하면 페이지가 링크로 이동했을 수 있으므로 두 번째 요소가 더 이상 존재하지 않고 코드가 작동합니다.

관련 자료

  • 이전 javascript - 호버링 된 표를 가리거나 표로 호버링하는 문제 수정
  • 다음 replace - mysql에서 문자열에 저장된 ID를 동적으로 번역 할 수 있습니까?