【发布时间】:2016-04-21 17:15:40
【问题描述】:
一直在尝试弄清楚如何使用 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">
需要在 -> name="abc" 中插入值但无法定位元素。
使用的代码:
Name=driver.find_element_by_xpath('//input[@id="body2"][@class="xyz5"][@name="abc"]')
Name.send_keys("login")
【问题讨论】:
-
我不认为这是你真正的问题。但是您的 xpath @class="xxyz5' 中有一个 x 很多。无论如何,通过 id 选择应该就足够了。也许您需要添加延迟以等待弹出窗口被添加,然后再尝试获取输入元素。
-
一个额外的“x”是这里的输入错误。添加延迟后也无法定位元素。