如何在Python中使用Selenium访问弹出窗体

时间:2016-04-14 14:47:51

标签: python selenium xpath

已经尝试了一段时间来弄清楚如何使用selenium python处理弹出窗体。

有元素"添加"单击它后打开一个新的弹出窗口,我必须输入值。无法找到要插入值的元素。 没有使用iframe。

弹出窗口的HTML代码如下:

<div id="form-1322" class="xyz" >
 <div id="form-1322-body" class="xyz1" >
  <span id="outerCt" role="presentation"">
   <div id="innerCt"role="presentation"">
    <table id="ext-comp-1317" class="xyz2" >
     <tbody>
      <td id="body1" class="xyz4">
       <input id="body2" class="xyz5" name="abc">

需要在 - &gt;中插入值名称=&#34; ABC&#34;但无法找到元素。

使用的代码:

Name=driver.find_element_by_xpath('//input[@id="body2"][@class="xyz5"][@name="abc"]')
Name.send_keys("login")

1 个答案:

答案 0 :(得分:0)

您的问题可能是“硒太快”,并且在页面上显示该元素之前正在查找该元素。尝试使用WebDriverWait

from selenium.webdriver.support.ui import WebDriverWait
element = WebDriverWait(driver, 10).until(
        lambda driver : driver.find_element_by_xpath('//input[@id="body2"][@class="xxyz5"][@name="abc"]')
element.send_keys('login")