我正在尝试使用“ find_element_by_xpath”查找元素,但是却收到错误消息,提示“无法找到元素”。
我也尝试过进行隐式等待,但仍然无法找到该元素。
HTML文件如下:
<div class="actions">
<input type="submit" value="Save" data-action="save">
</div>
<input type="hidden" name=actionId>
我尝试过下面的代码行:
driver.implicitly_wait(10)
driver.find_element_by_xpath("//input[@type='submit']")
driver.find_element_by_xpath("//class[@name='
actions']/input[@type='submit']"
driver.find_element_by_xpath("//form[@id='form-
submit']/input[@type='submit']")
以上所有尝试均显示错误“没有此类元素:无法找到元素”
我曾经尝试过“ execute_script”来处理隐藏元素,
element = driver.find_element_by_xpath("//input[@type='submit']")
driver.execute_script("arguments[0].click();", element)
这没有给出任何错误,但是我不确定它是否单击了正确的按钮,因为正在打开新网页并显示消息“无法访问您尝试的页面”。
答案 0 :(得分:0)
您的xpath似乎不错,请检查该元素是否位于iframe内,如果是,请先切换到iframe,然后才能对该元素进行操作。
要切换到iframe,您可以使用:driver.switch_to_frame(driver.find_element_by_tag_name('iframe'))
,然后您可以对该元素进行操作,并且要切换回默认内容,可以使用driver.switch_to_default_content()