Python使用Selenium循环浏览网站页面

Python使用Selenium循环浏览网站页面,python,selenium,web-scraping,Python,Selenium,Web Scraping,我在这方面花了很多时间,希望能得到一些帮助……我对Python和web抓取还不熟悉 我正在使用凭据访问一个网站,因此无法共享该链接,但它相当简单,我拥有大部分代码。使用Selenium,我可以访问网站、输入凭据、访问表格、输入所需数据、创建数据框并转到下一页。但是,我想自动循环浏览所有页面(有一些停顿,对站点很友好),并将每个页面附加到一个母版。这就是我到目前为止所做的: driver = webdriver.Chrome() driver.get('website') username = d

我在这方面花了很多时间,希望能得到一些帮助……我对Python和web抓取还不熟悉

我正在使用凭据访问一个网站,因此无法共享该链接,但它相当简单,我拥有大部分代码。使用Selenium,我可以访问网站、输入凭据、访问表格、输入所需数据、创建数据框并转到下一页。但是,我想自动循环浏览所有页面(有一些停顿,对站点很友好),并将每个页面附加到一个母版。这就是我到目前为止所做的:

driver = webdriver.Chrome()
driver.get('website')
username = driver.find_element_by_id("username")
password = driver.find_element_by_id("password")

username.send_keys("username")
password.send_keys("password"+"\n")

driver.implicitly_wait(20)

table = driver.find_element_by_id('preblockBody')

information = []
job_elems = table.find_elements_by_xpath("//*[contains(@class,'pbListingTable')]")
for value in job_elems:
    #print(value.text)
    information.append(value.text)

nxt=driver.find_element_by_xpath("//a[contains(@href, 'gotoNextPage(2)')]")
driver.execute_script("arguments[0].click();", nxt)
我认为最好的方法是找到所有包含“gotoNextPage”引用并创建一个循环,但我不确定如何做到这一点。非常感谢您的帮助

更新1:

我发现使用“Next”而不是单击特定的“gotoNextPage”元素很有帮助。这是我的新代码,但是,它只附加信息的最后一页,而不是在遍历页面时附加。这是非常接近

driver = webdriver.Chrome()
driver.get('website')
username = driver.find_element_by_id("username")
password = driver.find_element_by_id("password")

username.send_keys("user name")
password.send_keys("password"+"\n")

while True:
    driver.implicitly_wait(30)
    table = driver.find_element_by_id('preblockBody')
    information = []
    job_elems = table.find_elements_by_xpath("//*[contains(@class,'pbListingTable')]")
    for value in job_elems:
    #print(value.text)
        information.append(value.text)

    try:
        driver.find_element_by_partial_link_text('Next').click()
    except:
        break

driver.quit()
print(information)

我能够通过将我的空列表从循环中带出来解决这个问题…简单但循环对我这样的新手来说可能会让人困惑