我正在尝试使用硒登录我的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以便单击按钮吗?
礼物
答案 0 :(得分:0)
您的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()
答案 1 :(得分:0)
尝试这样做:
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