Warm tip: This article is reproduced from serverfault.com, please click

其他-如何使用 Selenium 和 Python 在 reddit 中登录

(其他 - How to login within reddit using Selenium and Python)

发布于 2021-01-30 19:38:25

我正在尝试使用 python 中的 selenium 自动执行 reddit 登录,并且我正在使用以下代码来执行此操作

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
from time import sleep

driver = webdriver.Chrome(executable_path=r'C:\Program Files (x86)\chromedriver.exe')
driver.get("https://www.reddit.com/")

login=driver.find_element_by_link_text("Log In")
login.click()

username = "the-username"          # Enter your username
password = "the-password"                   # Enter your password

def slow_typing(element, text): 
   for character in text: 
      element.send_keys(character)
      sleep(0.3)

def logIn():            # Log In Function.
    try: 
        sleep(15)
        #username_in = driver.find_element_by_class_name("AnimatedForm__textInput")
        username_in = driver.find_element_by_xpath("//*[@id='loginUsername']")
        slow_typing(username_in, username)

        pass_in = driver.find_element_by_xpath("//*[@id='loginPassword']")
        slow_typing(pass_in,password)

        pass_in.send_keys(Keys.ENTER)
        sleep(5)
    except NoSuchElementException:
        print("Llegue aqui xd xd")

logIn()

还有一点代码,但我发布了一个摘要,以便我可以将我的问题告诉你们。当它运行时,它会选择输入用户名的那一刻,但它不发送密钥。我不知道该怎么做或改变,所以我在这里寻求帮助。

Questioner
zergcore
Viewed
0
PDHide 2021-01-31 03:53:23
def logIn():            # Log In Function.
    try:
        driver.switch_to_frame(driver.find_element_by_tag_name('iframe'))
        sleep(5)
        print("hii")
        #username_in = driver.find_element_by_class_name("AnimatedForm__textInput")
        username_in = driver.find_element_by_xpath("//*[@id='loginUsername']")
        slow_typing(username_in, username)

        pass_in = driver.find_element_by_xpath("//*[@id='loginPassword']")
        slow_typing(pass_in, password)

        pass_in.send_keys(Keys.ENTER)
        sleep(5)
        driver.switch_to_default_content()
    except NoSuchElementException:
        print("Llegue aqui xd xd")
        driver.switch_to_default_content()

登录名首先位于 iframe 女巫内