python - 尝试在 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 下。我真的迷失了这个。
解决方案
根据此处另一个线程中的讨论,让我们尝试两种不同的同步和单击按钮的方法:
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()")
这些代码片段中的任何一个都有效吗?
推荐阅读
- python - Python中的Perl(un)pack方法
- java - 我们如何在我的条件下正确使用嵌套的 onClickListener?
- java - 具有多个逻辑运算符的三重条件 Do-While 循环
- python - 逐步过程中的 Numpy 矩阵 concat
- exception - 异常模式必须位于匹配案例的顶层
- bigtable - BigTable CheckAndPut CompareOp.Greater 总是放置
- php - 将通配符子域重定向到 https
- javascript - 根据复选框选中状态启用或禁用目标元素
- java - 使用 Graphics2D 更新旋转的 JLabel 会导致新旧文本合并在一起
- c# - C# .NET 并行 I/O 操作(带限制)