簡體   English   中英

如何在python中保存Selenium Web驅動程序的狀態?

[英]How to save state of selenium web driver in python?

我正在嘗試抓取此網站: http : //www.infoempleo.com/ofertas-internacionales/ 我想選擇“過去15天”單選按鈕進行抓取。 所以我寫了這段代碼。

browser = webdriver.Chrome('C:\Users\Junaid\Downloads\chromedriver\chromedriver_win32\chromedriver.exe')
new_urls = deque(['http://www.infoempleo.com/ofertas-internacionales/'])

processed_urls = set()

while len(new_urls):

print "------ URL LIST -------"
print new_urls
print "-----------------------"
print
time.sleep(5)

url = new_urls.popleft()
processed_urls.add(url)

try:
    print "----------- Scraping ==>",url
    browser.get(url)
    elem = browser.find_elements_by_id("fechapublicacion")[-1]
    if ( elem.is_selected() ):
        print "already selected"
    else:
        elem.click()

    html = browser.page_source
except:
    print "-------- Failed to Scrape, Moving to Next"
    continue

soup = BeautifulSoup(html)

我已經能夠選擇單選按鈕並抓取第一頁。 最后有一個頁面列表,例如1、2、3。

移至下一頁時,將調用'browser.get(url)' ,將單選按鈕重置為“任何日期”,而不是“過去15天”。 這使代碼執行else語句else: elem.click()再次選擇單選按鈕,這將打開已被else: elem.click()的第一頁。

有沒有解決的辦法? 幫助將不勝感激。

我找到了解決此問題的方法。 而不是將鏈接保存到列表中的下一頁。 我選擇nextPage按鈕/元素並使用.click() 這樣,無需再次調用browser.get(url) ,也不會重新加載頁面。

暫無
暫無

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

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