簡體   English   中英

無法單擊帶有 selenium 的按鈕

[英]cant click on Button with selenium

我正在嘗試使用 selenium 登錄我的 twitter 帳戶。 用戶名和密碼的填寫工作完美,但按下登錄按鈕時沒有任何反應。

        self.driver.find_element_by_xpath('//*[@id="react-root"]/div/div/div[2]/main/div/div/form/div/div[3]/div').click()

我查看了 html 代碼,並且aria-haspopup為假。 有什么方法可以將其設置為 true 以便我可以單擊按鈕?

問候

您的 xpath 在 twitter 的登錄頁面( https://twitter.com/login )上運行良好。 也許您正在嘗試登錄其他頁面。

我正在提供一小段代碼用於登錄 twitter。 我使用了另一個 xpaths 和 WebDriverWait 來等待顯示登錄表單。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()

driver.get('https://twitter.com/login')

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//input[@name='session[username_or_email]' and @data-focusable='true']")))

driver.find_element_by_xpath("//input[@name='session[username_or_email]' and @data-focusable='true']").send_keys('login')
driver.find_element_by_xpath("//input[@name='session[password]' and @data-focusable='true']").send_keys('password')

driver.find_element_by_xpath("//div[@data-testid='LoginForm_Login_Button']").click()

嘗試這樣做:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()

driver.get('https://twitter.com/login')

email = driver.find_element(By.NAME, 'email')
email.clear()
email.send_keys(EMAIL)
password = driver.find_element(By.NAME, 'pass')
password.clear()
password.send_keys(PASSWORD)

password.send_keys(Keys.RETURN) # Login with ENTER button

暫無
暫無

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

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