안녕하세요, 저는 Selenium과 Python을 처음 접했습니다. 방금 사이트를 긁어 모으고있었습니다 pagalguy website. 페이지의 맨 아래로 스크롤하는 방법을 알고 있지만 셀레늄이 모든 readmore 버튼을 클릭하도록 단계적으로 아래로 스크롤하는 것이 필요하지만 그렇게 단계별로 스크롤하는 방법을 알지 못합니다. 열심히 일Python Selenium에서 아래로 스크롤하는 방법
browser.execute_script("window.scrollTo(0,300);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(300,600);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(600,900);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(900,1200);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(1200,1500);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(1500,1800);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(1800,2100);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(2100,2500);")
browser.find_element_by_link_text("Read More...").click()
it goes on .......
내가 while 루프를 사용하여 자동화 시도
를 다음처럼 코딩하지만이 오류가 발생, 위의 하나는 작동하지만 나는 그것이 짧고 나는 다른 모든 페이지에 사용할 수 있도록 반복합니다 다른 페이지 길이.
initial_value = 0
next_value = 300
while next_value<300000:
browser.execute_script("window.scrollTo(initial_value,next_value);")
browser.find_element_by_link_text("Read More...").click()
initial_value=next_value
next_value+=300
JavascriptException: Message: ReferenceError: initial_value is not defined
하지만 값을 정의, 나는 내가 실제로, 나는 자동으로 스크롤하여 모든 readmore 버튼을 클릭 할 노력하고 있어요 다음 내가 전체 텍스트 내용을 얻을 것이다 무엇을 설명 생각
당신이 대답 [링크]로 볼 수 있습니다 (https://stackoverflow.com/questions/41744368/scrolling-to-element-using-webdriver) –
어쩌면 그냥 몇 가지를 주입하려고 시도 할 수 있습니다 Js는 [이 링크] (https://stackoverflow.com/a/45194334/8179099)를 좋아합니다 –
@AnkurSingh 페이지 위치로 스크롤하는 답변에서 사용 가능한 모든 옵션을 시도했지만 클릭하지 않았으며 없습니다. 오류가 성공적으로 실행되었지만 그것을 지적 해 주셔서 감사합니다. – venkat