在Selenium

时间:2016-06-09 00:54:36

标签: python selenium selenium-webdriver

虽然这可能不是Selenium的预期用途,但我想在登录后同时打开一些(通常是2-5个)标签页。

以下是我尝试的内容:

for estimate in estimates:
        browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
        browser.get('http://www.example.com/' + dic['Id'])

我对这种方法的问题是:

  1. 它使用非官方手段打开新标签和
  2. 需要每个 网页要完全加载才能继续下一步。
  3. 我想知道是否有更高效,更优雅的方法来实现这一目标。

    编辑:为了澄清,我不需要能够管理选项卡。我只是想在运行程序后打开几个标签以方便用户。

1 个答案:

答案 0 :(得分:0)

我无法找到更好的解决方案,所以我采用了一种在正常情况下不可取的方法:

browser.set_page_load_timeout(0)
for estimate in estimates:
    browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
    try:
        browser.get('https://www.example.com)
    except:
        pass

通过将页面加载超时设置为0秒,您可以加载仅限于驱动程序的自然约束的页面。