单击按钮时发生硒错误:.MoveTargetOutOfBoundsException

时间:2019-09-05 21:01:07

标签: javascript python selenium selenium-webdriver

我在python上使用safari和selenium,我想制作一个python selenium程序,该程序单击iframe中的'confirm'按钮,但它给我一个错误或不起作用( < em>按钮和iframe在视口中

基本上无论如何我尝试,如果单击带有“操作链”的按钮,则会出现相同的错误(selenium.common.exceptions.MoveTargetOutOfBoundsException: Message:),或者如果正常单击该按钮,则不会有任何结果(不会)工作)

HTML-iframe

<iframe title="Confirm-box" scrolling="no" class="bottom" data-name="bottom">
</iframe>

HTML-按钮

<button type="submit" class="btn btn-submit" name="submitBtn">
    Confirm
</button>

iframe

iframe2 = driver.find_elements_by_tag_name('iframe')[1]

滚动到按钮

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(2)
driver.switch_to.frame(iframe2)

双击按钮

actionChains = ActionChains(driver)
element = driver.find_element_by_xpath("//button[contains(text(),'Confirm')]")
actionChains.double_click(element).perform()

预期输出:

点击

按钮

错误(动作链):

selenium.common.exceptions.MoveTargetOutOfBoundsException: Message:

1 个答案:

答案 0 :(得分:0)

您不能直接点击到iframe元素中,首先,您需要在硒 switchTo 中使用特殊命令,该命令可用于更改可以在(iframe,windows,和警报)。

我不知道python中的语法,但是应该是这样的:

driver.switchTo().iframe('iframe');

您可以在此处查看官方文档: https://www.seleniumhq.org/docs/03_webdriver.jsp#moving-between-windows-and-frames