0

我点击了一个打开一个小窗口/弹出窗口/iframe的链接,弹出窗口有Xpath:

//html/body/div[2]

IE。它没有window_id,但在firebug中,标识符将窗口显示为a <div class="some_name">,所以我假设它是一个弹出窗口;如我错了请纠正我。

当我使用 selenium IDE 的 selectPopup 时,它在从主窗口切换到 popup/new_window 时工作正常,但是在导出到 webdriver-python 时它没有该选项。因此,我尝试使用driver.switch_to_windowandswitch_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>`
4

1 回答 1

-1

试试这个:

new Actions(driver).click(driver.findElement(By.xpath("//div[@id='pop-up-window']"))).perform();
于 2016-01-16T11:00:59.440 回答