Selenium Webdriver在提取数据时会随机打开新选项卡

时间:2019-07-13 09:18:07

标签: python selenium selenium-chromedriver

在提取配置文件的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)

0 个答案:

没有答案