我正在尝试使用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**
答案 0 :(得分:0)
您可以使用以下代码管理标签。
driver.execute_script("window.open('"+url+"', '_blank');")
driver.switch_to_window(driver.window_handles[1])