这是html代码:
...
<div class="span_3_of_4">
<p class="text_popup"> Dont Have an Account? |
<a class="fancybox" href="#load_box">Signup</a>
</p>
</div>
<div class="span_1_of_4" align="center">
<input class="button" type="submit" value="Submit"/>
</div>
</div>
</form>
</div>
<script src="js/jquery.form.js" type="text/javascript"/>
它是一个提交按钮。我正在尝试使用selenium webdriver自动注册。此按钮没有这样的ID或名称。因此我尝试使用xpath(取自萤火虫).//*[@id='load_form']/div/div[2]/input
和classname
- button
。
然而,以下错误被抛出Element is not currently visible and so may not be interacted withCommand duration or timeout: 428 milliseconds
。
请建议我如何克服这个错误,并能够点击&#34;提交&#34;按钮。
Selenium Version - 2.44
答案 0 :(得分:0)
试试这个:
driver.findElement(By.xpath("//div[@id='load_box']/form[@id='load_form']//input[@class='button' and @type='submit']"))
问题是有几个form
元素带有&#34; load_form&#34;在网站上,第一个是隐藏的!这就是为什么你需要一个像上面那样更具体的xpath的原因。
答案 1 :(得分:0)
我经常遇到这个问题,通常解决问题的一件事就是切换帧。使用python我认为它类似于driver.switch_to_frame('frame')
我可能在语法上有错,但绝对可以试试