关于自动点击网页上的按钮

2024-10-03 13:21:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我的网站上有一个按钮terranbailey.com/bio网站在底部,表示“点击这里”,我要找的是一个函数,可以在页面加载后自动点击那个按钮?我一直在到处寻找答案。我决定,我可能只需要问自己的问题,涉及到我的网站,以更好地帮助生产一个个性化的代码。你知道吗

谨致问候。你知道吗


Tags: 函数答案代码com网站页面按钮bio
2条回答

这个问题在Python和automation下也有标记,因此如果您需要从Python自动化这个过程,您需要查看selenium库。Selenium将打开您选择的浏览器,导航到一个网站,并在网站上执行您让它执行的任何操作。在本例中,在安装Selenium库pip install selenium,并安装相关的driver之后,您将需要使用以下代码来单击按钮。你知道吗

from selenium import webdriver

driver = webdriver.Chrome() # opens a new browser window controlled by selenium
driver.get("https://your-website.com") # navigate to your website
driver.find_element_by_css_selector('#submit_btn').click() # And click the button

编辑:

我看到你的网站底部有代码$(function () { window.onload = $('#submit_btn').click(); });。这是正确的代码,但是需要做一些修改。JavaScript代码/jquery代码需要放在标记中,否则它会在不执行任何代码的情况下将字符吐出。你知道吗

另一个问题是jQuery没有预加载。您必须在网站的某个地方添加以下代码行才能加载jQuery。你知道吗

<script
  src="http://code.jquery.com/jquery-3.2.1.min.js"
  integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
  crossorigin="anonymous">
</script>

总之,您的代码如下所示:

<script
  src="http://code.jquery.com/jquery-3.2.1.min.js"
  integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
  crossorigin="anonymous">
</script>
<script>
  $(function () { window.onload = $('#submit_btn').click(); }
</script>

但实际上不需要等到窗口加载,只需要加载DOM,这意味着浏览器已经加载并解析了所有HTML,但浏览器不一定完成了显示网站和执行网站上可能存在的任何其他代码。这是通过文件准备就绪通常优先于窗口加载函数,因为您不必等待那么长时间就可以开始执行与页面上的HTML有关的代码。比如你可以

<script
  src="http://code.jquery.com/jquery-3.2.1.min.js"
  integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
  crossorigin="anonymous">
</script>
<script>
$( document ).ready(function() {
  $('#submit_btn').click();
});
</script>

但我们可以做得更好。我们根本不需要使用jQuery。jQuery是一个函数的汇编,它向JavaScript添加了一些附加功能,使JavaScript的使用更加容易,但是对于如此简单的东西,我们真的不需要浪费时间加载整个jQuery库。相反,如果您将script标记放在submit按钮之后,您可以简单地执行以下操作。你知道吗

<!  Make sure this is after the submit button because it's kind of difficult to click a button if the button doesn't exist yet.  >
<script>
  window.document.getElementById("submit_btn").click();
</script>

你还需要做最后一件事来让一切顺利。单击此处按钮没有与其关联的id。你要换线了 <a href="/gallery" class="sqs-block-button-element medium sqs-block-button-element" data-initialized="true">Click Here</a>

<a href="/gallery" class="sqs-block-button-element medium sqs-block-button-element" data-initialized="true"id="submit_btn">Click Here</a>

这将允许您从jQuery/JavaScript中选择它

另外,广告拦截关闭后,我收到一些恶意广告,试图让我下载间谍软件。你知道吗

您的网站至少必须支持javascript,因此,要以编程方式单击该按钮,您需要在元素体中使用事件“onload”,如下所示:

<body onload="document.getElementById("mybutton").click()">

“onload”将在body元素充电后运行。你知道吗

相关问题 更多 >