使用selenium web驱动程序访问表单标记

时间:2012-10-28 09:52:42

标签: python selenium webdriver selenium-webdriver

我正在尝试在页面上找到一个标签,但到目前为止,通过名称/ id / xpath找到它并没有奏效。这是我试图通过xpath找到它的地方:

db = driver.find_element_by_xpath("/html/body/form")

以及

driver.find_element_by_xpath("//form[@id='formControl']")

这两个都会返回错误:

selenium.common.exceptions.NoSuchElementException: Message: u'Unable to locate element:

就好像它无法在页面上找到表单一样。有关如何修复的想法吗?

这是页面上html的开头:

<html>
  <body id="bodyControl" class="PersonalizationPage ContentPage Layout_PageUsesRegions" onunload="closeTimeoutWarningPopupWindow();return true;" onload="return __MasterOnLoad();" onresize="return __MasterOnResize();">
    <form name="formControl" method="post" action="default.wl?appflag=65.14&amp;bhcp=1&amp;MT=208&amp;rs=LAWS2.0&amp;strRecreate=no&amp;sv=Split&amp;transfertoken=10281204301250d0dbca913e4aa6887c7d425f4ede9c&amp;vr=2.0" id="formControl" target="_top">

1 个答案:

答案 0 :(得分:0)

试试这个。

driver.find_element_by_id("formControl")

还有两件事:

  1. 确保表单不在页面上的框架内。如果是,您将不得不切换到框架(它在功能上是一个框中显示的不同网页。)
  2. 确保选择了正确的浏览器窗口,如果您正在操作多个窗口,则必须切换到要搜索的窗口。