javascript 5秒后自动按下微件的“下一步”按钮

r9f1avp5  于 2023-01-19  发布在  Java
关注(0)|答案(1)|浏览(168)

我的网站上有一个加载预订系统的小部件。有没有办法在加载5秒后按下一个按钮?

<!-- Practice Better Booking Widget: start -->
<style>.better-inline-booking-widget{position:relative;overflow:hidden}.better-inline-booking-widget iframe{position:absolute;top:0;left:0;width:100%;height:100%}</style>

<div class="better-inline-booking-widget" data-url="https://my.practicebetter.io" data-course="63bdc7debc7ce781dd1860e0" data-hash="600ad6742a9c2416e0768660" data-theme="54a288" data-theme-accent="d74b33" style="width:100%;max-width:550px;height:800px;" data-scrollbar-visible="false"></div>

<script type="text/javascript" src="https://cdn.practicebetter.io/assets/js/booking.widget.js"></script>
<!-- Practice Better Booking Widget: end -->

我尝试添加setTimeout(document.getElementsByName("Next").click(),5000);,但没有成功

bq3bfh9z

bq3bfh9z1#

JavaScript呈现的按钮实际上包含在i-frame中。i-frames遵循same-origin策略。这意味着如果您想与i-frames的内容交互(包括按钮)通过JavaScript在托管i-frame的页面中,它们都需要在同一个域中。如果它们在同一个域中,那么这就是用JavaScript单击按钮的方式。

setTimeout(() => {
    let button = document.querySelector('.better-inline-booking-widget iframe').contentWindow.document.querySelector('button');
    button.click();  // This will throw an error unless the site is the same domain as the iframe
}, 5000);

相关问题