0

문제는 HTML 페이지의 다음 페이지로 이동하여 이동할 수없는 문제입니다. 검색어 뒤에 결과를 표시하는 HTML 페이지에 액세스하고 있습니다. 페이지 하단에는 검색어 페이지에서 선택할 수있는 숫자가 있습니다. 예 : '1 2 3 4 next'- '2'를 클릭하면 두 번째 페이지의 결과가 표시됩니다. 다른 페이지 번호 (예 : 2 또는 3)를 사용중인 경우 하단의 줄은 '이전 1 2 3 4 다음'과 같습니다. Python과 Webdriver를 사용하여 다음 페이지로 이동하여 결과를 스크롤합니다. 처음으로 누를 때마다 다음 페이지로 이동합니다. 두 번째 클릭하면 이전 페이지로 이동합니다. 의미는 내가 처음 두 페이지에 붙어있어 3과 4에 대한 결과를 볼 수 없습니다. 그 이유는 이것이 HTML 코드에 두번 나타나기 때문에 li class = "arrow" 태그가 두 번 나타나기 때문인 것으로 나타났습니다. 두 번째 호출이 이루어지면 첫 번째 태그는 "화살표"클래스가있는 태그입니다. 이것을 클릭하면 어떻게됩니까?Python을 사용한 HTML 추출

HTML 참고 : - :

다음을 클릭하기 전에 : 클릭 한 후

<div class="list"> 
<ul class="line"> 
<li class="current page"><a href>1</a></li> 
<li><a href="/search_text=&&page=1">2</a></li> 
<li><a href="/search_text=&&page=2">3</a></li> 
<li><a href="/search_text=&&page=3">4</a></li> 
<li class="arrow"><a href="/search_text=&&page=1">next</a></li> 
</ul> 
</div> 

를 "다음"HTML 코드는 다음과 같습니다 은 "리"태그는

HTML 코드 목록 항목을 정의 :

<div class="list"> 
<ul class="line"> 
<li class="arrow"><a href="/search_text=&">previous</a></li> 
<li><a href="/search_text=&">1</a></li> 
<li class="current page"><a href>2</a></li> 
<li><a href="/search_text=&&page=2">3</a></li> 
<li><a href="/search_text=&&page=3">4</a></li> 
<li class="arrow"><a href="/search_text=&&page=2">next</a></li> 
</ul> 
</div> 

파이썬 코드 :

chromedriver = "C:\temp\chromedriver.exe" 
os.environ["webdriver.chrome.driver"] = chromedriver 
driver = webdriver.Chrome(executable_path=r"C:\temp\chromedriver.exe") 
driver.implicitly_wait(3) 
driver.get(urlLink) 


driver.find_element_by_css_selector("li.arrow").click() #Takes me to the next page 
driver.find_element_by_css_selector("li.arrow").click() #Takes me to the previous page 

..

답변

0

당신은 방법 드라이버를 사용할 수 있습니다. find_element_by_link_text,

또는
+0

나는 이전에 이것을 시도하고 그것은 최초의 근무 그러나 난 항상이 오류 메시지가 나타납니다 : selenium.common.exceptions.WebDriverException : 메시지 : 알 수없는 오류 : 요소 (757, 606)에서 클릭 할 수 없습니다. 기타 요소 ... – BigMike

+0
+0

나는 당신의 접근 방식에 대해 명확하지 않다. '다음'을 클릭하면 처음으로 다음 페이지로 전환 한 다음 두 개의 태그가 '이전'과 '다음'이있는 'li class = arrow'로 표시됩니다. 1) 여기서 이드라고 생각할 수있는 것은 무엇입니까? 2) 수업은 차별화되고 전화하는 것처럼 어떻게 생겼습니까? – BigMike

관련 문제