gpt4 book ai didi

Python Selenium - Chrome、Firefox 和 IE 的通用脚本

转载 作者:行者123 更新时间:2023-12-01 05:03:30 25 4
gpt4 key购买 nike

我们目前正在研究 Selenium 作为嵌入在一系列 Controller 中的 Web 服务器的测试工具。我希望为所有驱动程序重用相同的 Python (2.7) 代码,但尽管 Chrome 和 Firefox 运行良好,但 IE11(惊讶吗?) 不喜欢它。 IE 打开,但 Python 抛出异常。

起初我以为问题出在 URL 中包含的 user:pwd...

driver.get("http://" + "acc:acc@10.169.89.97")

但即使删除登录信息并手动输入登录信息后,后续代码...

(driver.switch_to.frame("links_frame") 

然后也失败。

驱动程序之间是否存在一些差异会导致这种情况?我读到过其他人成功地在所有浏览器上重复使用相同的代码,因此必须考虑我可能做错了什么?

详细信息:

首先...

...第 25 行,位于 driver.get("http://"+ "acc:acc@10.169.89.97")
...\webdriver.py",第 185 行,在 get self.execute(Command.GET, {'url': url})
...webdriver.py",第 173 行,在执行 self.error_handler.check_response(response) ...\errorhandler.py",第 164 行,在 check_response 中引发 exception_class(message, screen, stacktrace) selenium.common.exceptions。 WebDriverException:消息:u'无法导航到 acc:acc@10.169.89.97。这通常意味着对 COM 方法 IWebBrowser2::Navigate2() 的调用失败。”

在第二种情况下:
...第 33 行,在 driver.switch_to.frame("links_frame") # 选择包含下一个测试元素的 iframe ...\webdriver\remote\switch_to.py",第 64 行,在帧 self._driver.execute 中(Command.SWITCH_TO_FRAME,{'id':frame_reference})
...\webdriver.py”,第 173 行,执行 self.error_handler.check_response(response)
...\webdriver\remote\errorhandler.py",第 164 行,在 check_response 中引发 exception_class(message, screen, stacktrace) selenium.common.exceptions.UnexpectedAlertPresentException: Message: u'模态对话框存在' – –

最佳答案

IE 很烦人……但问题不应该是 python。请务必将所有区域的所有保护模式设置设置为相同(启用/禁用)。否则 IEDriver 将在打开后丢失窗口,这看起来与您遇到的情况类似。

您绝对可以对所有测试使用相同的代码...驱动程序部分发生变化,但它们都基于相同的基类/接口(interface)。对于 python...导入相同的库。

以下是一些 IE 引用:Selenium WebDriver on IE11

关于Python Selenium - Chrome、Firefox 和 IE 的通用脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25526366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com