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