簡體   English   中英

使用Python提取HTML

[英]HTML Extraction with Python

解決的問題是無法單擊並轉到HTML頁面的下一頁。 正在訪問一個HTML頁面,該頁面在搜索查詢后顯示結果。 在頁面的底部,有一行數字可供您選擇,即“ 1 2 3 4 next”-單擊“ 2”會在第二頁上顯示結果。 如果您使用的是不同的頁碼,即2或3,則底部的行看起來像:“上一頁1 2 3 4下一頁”。 我正在使用Python和Webdriver單擊以轉到下一頁以滾動查看結果。 第一次按下它,將帶我進入下一頁。 單擊第二秒鍾,它將帶我到上一頁。 意味着我停留在前兩頁上,看不到3和4的結果。我注意到發生這種情況的原因是因為li class =“ arrow”標記在HTML代碼中出現了兩次。 當進行第二次調用時,出現的第一個標簽是帶有“ arrow”類的標簽。 我該如何點擊呢?

HTML注意:-“ li”標記定義一個列表項

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代碼后,如下所示:

<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>

Python代碼:

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

..

您可以使用方法驅動程序。 find_element_by_link_text ('next')查找元素,然后調用.click()

或者,您可以將ID添加到下一個按鈕並調用:

driver.find_element_by_id('whatever_id_you_use').click()

或通過添加一個類來區分下一個箭頭和上一個箭頭,以區分兩者並調用:

driver.find_element_by_class_name('next_arrow').click()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM