我正在使用Selenium和Python。我必须访问URL,获取内容并单击 next 按钮才能访问下一页并重复相同的操作。一些我怎么不能递归地执行它仍然是访问第一页确实有意义。我的代码如下:
def start():
url = ‘http://example.com/?page=1'
if driver.find_element_by_class_name('page-link'):
start()
如何实现?我应该获取第一页的内容,将数据传递给其他方法,然后递归调用它吗?
答案 0 :(得分:0)
您需要获取新URL并将其作为参数传递给start函数。您每次都在第一行重置网址。
答案 1 :(得分:0)
我认为selenium可能很聪明,不会重新加载相同的网址,所以你可能只是做以下
def start(traversed=False):
if not traversed:
url = "http://example.com/?page=1"
if driver.find_element_by_class_name('page-link'):
start(traversed=True)
OR
def start(url=None):
if not url:
url = "http://example.com/?page=1"
if driver.find_element_by_class_name('page-link'):
start(url=driver.current_url) #browser.current_url