我试图单击此按钮转到下一页,但是由于某种原因,我无法这样做。我尝试了xpath,css和类选择器以及data-trekkie-id属性,但没有任何尝试过。有什么帮助吗?下面的代码:
<div class="step__footer" data-step-footer="">
<button name="button" type="submit" class="step__footer__continue-btn btn " data-trekkie-id="continue_to_shipping_method_button" aria-busy="false">
<span class="btn__content">
Continue to shipping method
</span>
</button>
</div>
答案 0 :(得分:0)
按照 HTML 调用按钮上的click()
方法,文本为继续运输方法,您需要诱使 WebDriverWait ,您可以使用以下任一解决方案:
使用CSS_SELECTOR
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.step__footer__continue-btn.btn[data-trekkie-id='continue_to_shipping_method_button']>span.btn__content"))).click()
使用XPATH
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='step__footer__continue-btn btn' and @data-trekkie-id='continue_to_shipping_method_button']/span[@class='btn__content']"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
答案 1 :(得分:0)
这应该有效:
driver.find_element_by_xpath("//*[contains(local-name(), 'button') and contains(@class, 'step__footer__continue-btn')]").click()