使用window_handles时,Selenium Webdriver失败

时间:2016-10-04 09:15:54

标签: python google-chrome selenium selenium-webdriver windows-7

我正在尝试使用Chrome作为浏览器处理Python Selenium webdriver中的Two Tab。

如果我将 Chrome浏览器设为选定窗口,我会在第一个标签和第二个标签上找到按元素查找元素的结果。[即前屏幕处理]

使用

将控件更改为新选项卡时
driver.switch_to_window(driver.window_handles[1])

并最小化谷歌浏览器[即,如果我选择谷歌浏览器以外的任何进程]。我在第二个选项卡上找不到第二个选项卡元素未找到例外的链接文本时出错

我在First Tab上得到了结果。

def DriverCreation():
    try:
        Driver = WebBase.initWebScraping(URL)   # Methods visible Driver.driver and Driver.loggerDriverWait = Driver.EC
        print "Driver Creation Successful"
        return Driver
    except:
        print "Driver Initalisation Failed"
        sys.exit(1)
if __name__ == '__main__':
    URL = 'https://www.example.com/'
    Driver = DriverCreation() # will Load first Tab with www.Example.com
    aboutlink = Driver.driver.find_element_by_link_text('about')
    aboutlink.send_keys(Keys.CONTROL + Keys.RETURN)
    Driver.driver.switch_to_window(Driver.driver.window_handles[1])
    contactLink =  Driver.driver.find_element_by_link_text('contact')
    print contactLink.text()  #** getting error if i change the focus from Google Chrome and works fine if i keep the window focus on Google Chrome**

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码管理标签。

driver.execute_script("window.open('"+url+"', '_blank');")
driver.switch_to_window(driver.window_handles[1])