我对 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)