inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Selenium 기본 과정

네이버 플레이스 상위 노출 순위 추적 프로그램 개발 2

scroll 속성이 없다고 나오는 것 같아요..

422

마루

작성한 질문수 9

0

File "C:\Users\aiden\Desktop\project\8. selenium basic\ch6 place track\app.py", line 40, in <module>

ActionChains(드라이버).scroll(200,450,200,scrolly).perform()

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

AttributeError: 'ActionChains' object has no attribute 'scroll'

이런 오류가 나옵니다.. 왜 속성이 없다고 나오는 걸까요?

# 3-2. 없으면, 인피니티 스크롤 5번정도 실행
for _ in range(5):
    업체_엘리먼트들 = 드라이버.find_elements(By.CSS_SELECTOR, 업체_id_셀렉터)
    
    if len(업체_엘리먼트들) < 1:
        print("순위권에 업체가 없어서, 스크롤을 합니다.")
        scrolly = 20000
        # 드라이버.execute_script("window.scrollBy(0,20000);")
        ActionChains(드라이버).scroll(200,450,200,scrolly).perform()
        time.sleep(3)

python selenium

답변 2

1

김지유

selenium package update로 ActionChains의 scroll(sx,sy,dx,dy)함수가 사라졌습니다

기존의 코드를 변경해주셔야합니다( *추가 강의 챕터8 에서 자세히 설명해드립니다)

.scroll하던 모든 코드를 .scroll_by_amount로 변경해야합니다

ActionChains(driver).scroll(sx, sy, 0, randY).perform() #기존 코드

 

 ActionChains(driver).scroll_by_amount(0, randY).perform() # 바뀌어야할 코드

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

ActionChains 객체에는 scroll 메소드가 정의되어 있지 않습니다. 따라서 AttributeError가 발생하는 것입니다. ActionChains를 사용하여 스크롤을 수행하고 싶을 경우, move_to_element 메소드를 사용하여 특정 웹 요소까지 스크롤하는 방식을 사용할 수 있습니다. 만약 페이지의 특정 위치로 스크롤을 하고 싶다면 WebDriver 객체의 execute_script 메소드를 활용하여 JavaScript 코드를 실행하는 방법이 일반적입니다.

예를 들어, 아래와 같이 execute_script 메소드를 사용하여 스크롤할 수 있습니다.

for _ in range(5):
    업체_엘리먼트들 = 드라이버.find_elements(By.CSS_SELECTOR, 업체_id_셀렉터)

    if len(업체_엘리먼트들) < 1:
        print("순위권에 업체가 없어서, 스크롤을 합니다.")
        scrolly = 20000
        드라이버.execute_script("window.scrollBy(0, arguments[0]);", scrolly)
        time.sleep(3)

execute_script 메소드는 첫 번째 인자로 JavaScript 코드를 문자열 형태로 받으며, arguments 배열에 추가 인자를 전달하여 사용할 수 있습니다. 위 코드는 JavaScript의 scrollBy 함수를 사용하여 현재 스크롤 위치에서 지정한 픽셀만큼 수직으로 스크롤합니다.

이렇게 수정하시면 원하는 기능을 정상적으로 사용하실 수 있습니다.

작업형 1 (삭제예정, 구 버전)

0

21

1

강의노트는 어디있나요?

0

9

0

노션 학습 자료 권한 요청

0

10

1

수강기간 연장 문의드립니다.

0

16

1

2유형 레이블 인코딩 VS 원핫 인코딩

0

18

3

part2강의 문의사항입니다.

0

14

2

수강기간 연장 문의드립니다.

0

26

1

인덱스 슬라이싱

0

25

2

코드를 첨부해야하는 이유가 있나요?

0

20

2

소리가 겹쳐서 들려요

0

17

2

데스크톱과 노트북 연결

0

25

1

dict, zip

0

21

2

노션 : 파트3번 링크와 권한 , 파트4번 권한요청, 파트 5번도 미리 요청 드립니다.

0

27

4

6-6 실습 문의

0

21

2

현재 네이버 코드가 바뀐거 같습니다.

0

386

2

소스코드 링크

0

273

1

스마트스토어 상품순위 문의 있습니다.

1

302

2

구름 ide에서 folder 아래 Scripts 폴더가 안 만들어져요

0

429

2

가상환경 설정 후 크롬 드라이버 다운받고 python .\app.py 코드를 쳤는데 에러가 나옵니다.

1

584

1

크롬 브라우저를 설치했는데 오류가 납니다

1

2677

1

BY.xpath로 자녀값도 가져올 수 있나요??

1

412

1

맥에서 개발환경 설정하는 법

1

453

1

7강 질문이 있습니다.

1

506

1

click() 이 작동하지 않네요.

1

444

1