Python Selenium通过链接进行循环

Python Selenium通过链接进行循环,python,loops,selenium,Python,Loops,Selenium,我是python的新手,或者是这方面的编码 这部分代码允许我找到我想要点击的所有元素,点击链接打开一个新标签 from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.rezultati.com/kosarka/filipini/kup/") list_of_links = driver.find_elements_by_css_selector(".cell_a

我是python的新手,或者是这方面的编码

这部分代码允许我找到我想要点击的所有元素,点击链接打开一个新标签

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("http://www.rezultati.com/kosarka/filipini/kup/")

list_of_links = driver.find_elements_by_css_selector(".cell_ad.time")
for link in list_of_links:
    link.click()
显然,这个for循环只打开链接。。 我感兴趣的是如何添加类似这样的内容来收集一些数据:

# wait to open link
time.sleep(3) 
# handle new window
newtab = driver.current_window_handle
driver.switch_to_window(newtab)
# collecting data and print data
date = driver.find_elements_by_class_name("mstat-date")
for d in date:
    print(d.text)
# Some code to close newtab?
????

如何在for循环中实现这一点。。换句话说,我想进入每个环节,收集一些数据。。是否可能?一些建议或示例代码

您可以尝试以下代码,这些代码允许在循环中使用匹配结果处理每个窗口:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://www.rezultati.com/kosarka/filipini/kup/")

list_of_links = driver.find_elements_by_css_selector(".cell_ad.time")
cur_win = driver.current_window_handle # get current/main window

for link in list_of_links:
    link.click()
    driver.switch_to_window([win for win in driver.window_handles if win !=cur_win][0]) # switch to new window
    date = driver.find_elements_by_class_name("mstat-date")
    for d in date:
        print(d.text)
    driver.close() # close new window
    driver.switch_to_window(cur_win) # switch back to main window