使用 selenium python 为 Riot.js 填写用户名 - 登录框

fill username using selenium python for a Riot.js - login-box

https://sso.toutiao.com/login/?next=/&service=https://mp.toutiao.com/sso_confirm/?redirect_url=/

我正在尝试访问上面的网站并使用 selenium 和 python 自动填充用户名。

登录框好像是Riot.js,我在html中找不到用户名元素,如何使用selenium自动填充用户名?

我对 selenium 和 Riot.js 很陌生。

我们将不胜感激。


from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import pyperclip
import sys


chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2}
chrome_options.add_experimental_option("prefs",prefs)
browser = webdriver.Chrome(chrome_options=chrome_options) 
browser.get("https://sso.toutiao.com/login/next=/&service=https://mp.toutiao.com/sso_confirm/?redirect_url=/")

mobile = browser.find_element_by_id("mobile")
code = browser.find_element_by_id("code")

mobile.send_keys("xxxxx")
code.send_keys("xxxx")

输入的用户名似乎有 CSS id account 和 xpath //*[@id="account"]。这应该足以让 selenium 访问它:

username_input = browser.find_element_by_xpath('//*[@id="account"]')
username_input.send_keys('username')