python - 在 python selenium 中切换窗口时出错

标签 python selenium selenium-webdriver

我想使用 selenium 和 python 处理多个窗口和选项卡。

我在脚本执行期间遇到以下错误:- (最后提到代码)

{f625f26d-cfcf-442c-b9fc-5e96a199cd43}
C:\Python34\lib\site-packages\selenium-2.47.1- py3.4.egg\selenium\webdriver\remot
e\webdriver.py:525: DeprecationWarning: use driver.switch_to.window instead
 warnings.warn("use driver.switch_to.window instead", DeprecationWarning)
 {cad6e3cf-9062-408e-a6f1-11e98813dc6c}

import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

class GoogleTabs(unittest.TestCase):

 def setUp(self):
     self.driver = webdriver.Firefox()

 def test_google_search_page(self):
     driver = self.driver
     driver.get("http://www.cdot.in")
     window_before = driver.window_handles[0]
     print (window_before)
     driver.find_element_by_xpath("//a[@href='http://www.cdot.in/home.htm']").click()
     window_after = driver.window_handles[1]
     driver.switch_to_window(window_after)
     print (window_after)
     driver.find_element_by_link_text("ATM").click()
     driver.switch_to_window(window_before)


 def tearDown(self):
     self.driver.close()

if __name__ == "__main__":
unittest.main()

最佳答案

正如警告所说

DeprecationWarning: use driver.switch_to.window instead

你需要改变你的

driver.switch_to_window

driver.switch_to.window

但是想一想:这是一个警告,而不是错误!您的代码应该可以工作,它只是告诉您该方法已被弃用。

关于python - 在 python selenium 中切换窗口时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34412796/

相关文章:

python - 如何使用python减少在selenium webdriver中找不到元素时的等待时间

ruby - `selenium-webdriver` ruby​​ gem 无法与 Ubuntu 14.04 上的 chromedriver 连接

python - 为什么这在 Windows 上的 Python 3 IDLE 中有效,而在 Ubuntu 上的终端中无效?

python - Pyemma 转换矩阵返回意外大小的数组

java - 我不想在Java中重复代码selenium

java - Java 中的 Selenium 日志记录 - 最佳实践?

selenium - 如果应用程序不支持隐式等待或显式等待,我们如何放置等待?我在我的例子中使用 Thread.sleep()

python - 使用内置函数名称作为属性或方法标识符是不好的做法吗?

python - 无法在 python 中使用 langdetect 包

java - 导入外部 jar 但仍然出现 "Cannot be resolved"错误