首页 > 解决方案 > 尝试在 python 中使用 Selenium 在贝宝上单击继续按钮

问题描述

按钮:之前

按钮:之前

按钮:之后

按钮:后

我已经尝试了很多方法来让这个工作。这就是我所拥有的

mainagree = WebDriverWait(driver, 15).until(
EC.presence_of_element_located((By.XPATH, "//button[@id='payment-submit-btn']"))
)
mainagree.click()
print('clicked')

我试过用 ID 和 xpath 定位它,都不会点击。我对iframe做了一些研究,

但我认为该特定按钮不在任何 iframe 下。我真的迷失了这个。

标签: pythonselenium

解决方案


根据此处另一个线程中的讨论,让我们尝试两种不同的同步和单击按钮的方法:

agree_ctn_button = WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.XPATH, "//div[contains(@class, 'modal-foreground-container')]//div[contains(@class, 'CheckoutButton_buttonWrapper')]//button[@id='payment-submit-btn']"))) driver.execute_script("arguments[0].scrollIntoView();", agree_ctn_button) driver.execute_script("arguments[0].click();", agree_ctn_button)

或者

agree_ctn_button = WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.XPATH, "//div[contains(@class, 'modal-foreground-container')]//div[contains(@class, 'CheckoutButton_buttonWrapper')]//button[@id='payment-submit-btn']"))) driver.execute_script("document.getElementById('payment-submit-btn').click()")

这些代码片段中的任何一个都有效吗?


推荐阅读