簡體   English   中英

如何使用 Selenium Python 迭代谷歌頁面

[英]How to iterating google pages using Selenium Python

我正在嘗試使用 Selenium 抓取谷歌搜索數據,我也可以獲取所有數據,但最后當頁面結束時,我會看到一個錯誤。

line 23, in <module>
    next_page = driver.find_element_by_link_text('Next')

 line 428, in find_element_by_link_text
    return self.find_element(by=By.LINK_TEXT, value=link_text)

這是我的代碼,成功收集所有數據后出現此錯誤。

from selenium import webdriver
from time import sleep


driver = webdriver.Chrome('./chromedriver.exe')
driver.maximize_window()
driver.get('https://www.google.com/search?q=florida+time+now')

driver.find_element_by_link_text('Change to English').click()
sleep(2)

print(driver.current_url)
print(driver.title)


while True:
    titles = driver.find_elements_by_xpath('//*[@class="LC20lb DKV0Md"]')
    for title in titles:
        link_title = title.find_element_by_xpath('.//span').text
        print(link_title)

    sleep(3)
    next_page = driver.find_element_by_link_text('Next')
    if next_page:
        next_page.click()
    else:
        break


sleep(2)
driver.close()

如果元素不存在,它將引發錯誤。 您可以使用driver.find_elements_by_link_text('Next')檢查元素的長度,這將返回元素list 。如果大於 0,請檢查長度,然后單擊else break

    next_page = driver.find_elements_by_link_text('Next')
    if len(next_page)>0:
        next_page[0].click()
    else:
        break

暫無
暫無

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

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