Python Selenium 没有点击 <a>
Python Selenium not clicking <a>
我正在尝试让我的 selenium 脚本点击模态中的 <a>
link。
所以这是 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!"
但是没有点击确认按钮...
试试这个:
driver.execute_script("document.getElementById('confirm-btn').click()")
我正在尝试让我的 selenium 脚本点击模态中的 <a>
link。
所以这是 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!"
但是没有点击确认按钮...
试试这个:
driver.execute_script("document.getElementById('confirm-btn').click()")