【发布时间】:2020-01-08 19:05:56
【问题描述】:
我在 python 上使用 safari 和 selenium,我想制作一个 python selenium 程序,单击 iframe 中的 'confirm' 按钮,但它给我一个错误或者它不起作用(按钮和 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:
【问题讨论】:
-
当您尝试单击
element时,它是否在视口中? -
@Trapli Yap,它是,iframe 也是如此
标签: javascript python selenium selenium-webdriver