在提取配置文件的URL时,脚本会通过错误消息在新选项卡中随机打开一些URL。
我尝试通过设置main_window进行修复,然后在新标签页打开时切换到该窗口。但这并不能解决问题,因为新选项卡仍然会不断打开并降低脚本运行速度。
是否有chrome驱动程序的设置,或针对此问题的一些Selenium解决方法?
任何建议都会有所帮助。
我的代码:
browser.get(webpage)
last_page = 8450
i = 0
delay = 30 # timeout
while i < last_page:
main_window = browser.current_window_handle
if i > 0:
next_button = WebDriverWait(browser, delay).until(EC.visibility_of_element_located((By.XPATH, '//span[@class="k-icon k-i-arrow-e"]')))
hover = ActionChains(browser).move_to_element(next_button)
hover.click().perform()
listings = WebDriverWait(browser, delay).until(EC.presence_of_all_elements_located((By.XPATH, '//h3[@class="ya_teacher-name"]//a')))
for listing in listings:
csv = open('output_links.csv', 'a')
listingUrl = listing.get_attribute('href')
row = listingUrl + "\n"
csv.write(row)
i += 1
browser.switch_to_window(main_window)
browser.implicitly_wait(5)