簡體   English   中英

無法單擊 Selenium 中的按鈕

[英]Can't click a button in Selenium

這是 paypal 按鈕!

在此處輸入圖像描述

我正在嘗試單擊從禁用到啟用的按鈕。 它的按鈕屬性也顯示為禁用。

<button class="button_E6SE9 primary_1oCqK continue-to-review regular_1jnnf" type="submit" data-automation="review-order" xpath="1"><span class="content_3Dbgg" tabindex="-1">Continue</span></button>

在此處輸入圖像描述

它從以下變化:

<button disabled class> to <button class>

所以,我正在考慮等待屬性更改,然后使用 to_be_clickable 單擊按鈕

continuebtn = WebDriverWait(driver, 10).until
(EC.element_to_be_clickable((By.XPATH, "//span[contains(text(),'Continue')]")).click()
print("clicked")

它打印 clicked 表示執行了上述步驟,但沒有點擊頁面上的“繼續”按鈕。 我以前也可以,但是,我編輯了幾次代碼,現在我無法修復它。

看來這個元素給你帶來了一些麻煩......

你能等到元素可以使用 Selenium 來點擊,但使用 JavaScript 來點擊按鈕? 這行得通嗎?

driver.execute_script("var continue_button = document.querySelector('button.continue-to-review'); continue_button.click()")

嘗試這個:

driver.find_element_by_xpath('//button[@type="submit"]').click()

如果你想確定它是否點擊正確,你應該像這樣使用:

if driver.find_element_by_xpath('//button[@type="submit"]').click():
   print('Clicked!')
else:
   print('Element Not Found!')

我希望我能幫助你

可能的解決方案,但很難在沒有看到鏈接的情況下進行測試。

WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, '//button[@class="button_E6SE9 primary_1oCqK continue-to-review regular_1jnnf" and not(@disabled)]')))

另外,嘗試使用

wait.until(EC.invisibility_of_element_located((By.CSS_SELECTOR, "button[disabled][class*='continue-to-review']")))

並單擊帶有上方定位器或任何其他較短定位器的此按鈕。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM