我试图通过断言头部的title等于'Sales and Offering Space'来检查是否打开了正确的网页。
此head/title位于iframe元素中,不可见。在
在我切换到iframe之后,Selenium在iframe('Sales and Offering Space')中找不到想要的title。相反,它在框架('E-banking')之外找到主页title),我的断言失败。在
我尝试通过xpath(abs、rel、indexed)和标记名来定位右title,但所有这些都只找到主标题。
有人能帮忙吗?在
导航到测试页面后,我得到以下代码:context.driver.switch_to_frame('bzeMainIframe')
title = WebDriverWait(context.driver, 5).until(expected_conditions.presence_of_element_located((By.TAG_NAME, 'title')))
assert title.text == 'Sales and Offering Space', "Page title is '%s' instead of 'Sales and Offering Space'" % (context.driver.title)
结果:Assertion Failed: Page title is 'E-Banking' instead of 'Sales and
Offering Space'
在下一步中,我将进行类似的检查,切换到iframe并检查body中元素的值,这个断言是成功的。所以我认为上面代码的问题可能与想要的元素在头部这一事实有关。在
测试中的应用程序:
这个项目使用Behave,还有很多代码我不能复制到这里,但是如果需要,我会把所有东西都推到github。在