【问题标题】:How to click on button when <input type =Button> using Selenium<input type =Button> 使用 Selenium 时如何单击按钮
【发布时间】:2021-08-17 06:46:23
【问题描述】:

当输入类型为按钮时如何点击按钮,我使用下面的代码,点击按钮不起作用?

<p>
<img class="getdata-button" style="float:right;" src="/common/images/btn-get-data.gif" id="get" onclick="document.getElementById('submitMe').click()">  
<input type="button" value="Get Results" tabindex="9" id="submitMe" onclick="submitData();" style="display:none" ;="">
</p>

我试过了

driver.find_element_by_css_selector("input[@type='button']")).click()
driver.find_element_by_id("get").click()
driver.find_element_by_id("submitMe").click()

也使用了 xpath 仍然一无所获

【问题讨论】:

  • 请详细解释“单击按钮不起作用”的含义。是否发生了一些错误?

标签: selenium selenium-webdriver web-scraping css-selectors getelementbyid


【解决方案1】:

如果您可以接受,可以通过 JavaScript 完成:

driver.execute_script("document.getElementById('submitMe').click()")

&lt;img&gt; 元素触发 onclick 事件:onclick="document.getElementById('submitMe').click()";它在 DOM 中找到并单击下方的 &lt;input&gt; 元素按钮。可以跳过 Selenium 点击交互并从 &lt;img&gt; 元素调用相同的 JavaScript,这应该会得到您想要的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多