我有一种情况,单击链接会打开一个新标签,然后在新标签上执行下一步操作。我正在使用以下代码片段来实现相同的目的(额外的打印语句仅用于验证每个步骤的结果):
print("Switch to window tests - a")
window_before = self.driver.window_handles[0]
print("Current Window Handle - 1",self.driver.current_window_handle)
print("Current Window Handle - 2",self.driver.window_handles[0])
print(window_before)
self.view_FormID = WebDriverWait(self.driver.instance, 10).until(
EC.visibility_of_element_located((
By.XPATH, '//*[@id="find-form"]/div[2]/div[1]/div[2]/a')))
self.view_FormID.click()
print("view_FormID link clicked")
print("Switch to window tests - b")
window_after = self.driver.window_handles[1]
print("Current Window Handle - 1", self.driver.current_window_handle)
print("Current Window Handle - 2", self.driver.window_handles[1])
self.driver.switch_to.window(window_after)
运行上面的代码将引发错误:“'Driver'对象没有属性'window_handles'”
我在任何论坛上都没有找到相关的解决方案。 有人可以看看我可能会缺少什么吗?
非常感谢!
PS:上面的代码段是我的POM中页面对象的一部分; FWIW,我在这里无法引用任何webdriver函数-所以我想问题出在应该在页面对象中调用webdriver对象的方式上,我无法弄清楚! 我已经花了大约2天的时间来弄清楚-因此,非常感谢您的帮助:)
答案 0 :(得分:1)
winHandls = driver.window_handles
driver.switch_to.window(winHandls [index])
希望这对您有用。