Python Selenium没有点击

问题描述 投票:0回答:1

我试图让我的selenium脚本点击一个模态的<a>链接。所以这是html;

<div class="modal-btns">
                    <a href="" id="confirm-btn" class="btn-primary-md">Get Now</a>
                    <a href="" id="decline-btn" class="btn-control-md">Cancel</a>
                </div>

现在我想点击按钮Get Now。我试过这个;

            button = browser.find_elements_by_css_selector('#confirm-btn')
            for e in elements:
                try:
                    e.click()
                except:
                    what = 0
            print "Clicked!"

我没有无头模式就启动了这个脚本。在控制台中,它打印出Clicked!,而在浏览器中没有任何事情发生。

我怎样才能做到这一点?

====编辑====

还有一个触发模态的按钮,只是工作..那个按钮html是;

<div class="action-button">
                                                <button type="button" class="btn-fixed-width-lg btn-primary-lg PurchaseButton" data-button-type="main" data-button-action="get" data-expected-price="0" data-bc-requirement="0" data-product-id="222406" data-item-id="1744006" data-item-name="SBC Cannon 2.0" data-asset-type="TShirt" data-asset-type-display-name="T-Shirt" data-item-type="Asset" data-expected-currency="1" data-expected-seller-id="52246" data-seller-name="ViacomIsPoo" data-userasset-id="" style="">
                                                    Get
                                                </button>
                        </div>

它通过以下代码单击该按钮:

            elements = browser.find_elements_by_xpath("//button[contains(@class, 'PurchaseButton')]")
            for e in elements:
                try:
                    e.click()
                except:
                    what = 0

所以完整的代码将是;

            elements = browser.find_elements_by_xpath("//button[contains(@class, 'PurchaseButton')]")
            for e in elements:
                try:
                    e.click()
                except:
                    what = 0
            time.sleep(4)
            button = browser.find_element_by_id('confirm-btn')
            for e in elements:
                try:
                    e.click()
                except:
                    what = 0
            print "Clicked!"

但它没有点击确认按钮......

python python-3.x selenium selenium-webdriver selenium-firefoxdriver
1个回答
1
投票

试试这个:

driver.execute_script("document.getElementById('confirm-btn').click()")
© www.soinside.com 2019 - 2024. All rights reserved.