我点击了一个链接,打开一个小窗口/弹出/ iframe,弹出窗口有Xpath:
//html/body/div[2]
即。它没有window_id,但在firebug中,标识符将窗口显示为<div class="some_name">
所以我假设它是一个弹出窗口;如果我错了,请纠正我。
当我使用selenium IDE的selectPopup时,从主窗口切换到popup / new_window可以正常工作,但是当导出到webdriver-python时,它没有那个选项。所以我尝试使用driver.switch_to_window
和switch_to_frame
以及上面提到的xpath,但没有运气,即。 driver.switch_to_frame(driver.find_element_by_xpath("//html/body/div[2]"))
抛出错误:NoSuchElementException
这是因为它无法选择iframe。
由于它在Selenium IDE中正常工作,我将它导出到python-webdriver,它将wait_for_element子句转换为
for i in range(60):
try:
if self.is_element_present(By.XPATH, "//*[@id='heading']/div[2]/div/div/ul/li[2]/a"): break
except: pass
time.sleep(1) else: self.fail("time out")
返回上述错误
详细的html :
//*[@id='heading']/div[2]/div/div/ul/li[2]/a
是元素的xpath,而html就是<a href="/my_url/test/Home/">Home</a>
的详细信息:
`
<div class="help">
<div class="page-header">
<div id="heading">
<div id="search">
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<ul class="nav">
<li class="active">
<li>
<a href="/my_url/test/Home/">Home</a>
</li>
<li>
<li>
<li>
</ul>
<form class="navbar-form pull-right">
</div>
</div>
</div>
</div>`
答案 0 :(得分:-1)
试试这个:
new Actions(driver).click(driver.findElement(By.xpath("//div[@id='pop-up-window']"))).perform();