繁体   English   中英

我如何使用python登录

[英]How do I log in using python

我有这个代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

path = r'C:\Users\test\Documents\Python Scripts\chromedriver.exe'

driver = webdriver.Chrome(path)

driver.get("http:\\www.wyzant.com")
link = driver.find_element_by_link_text("LOG IN")
link.click()

WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, "username")))

username = driver.find_element_by_id("Username")
username.send_keys("test")

代码没有将“测试”发送到用户名 ID。 我想一旦我能够插入用户名,我应该能够弄清楚如何插入密码并单击登录。

在javascript中我使用这个函数|

const button = await driver.wait(
      until.elementLocated(By.xpath('your xpath element')), 12000).then(button => {
      return driver.wait(until.elementIsVisible(button4),12000)},  function(button4) {
          if (button instanceof Error) {
            bot.sendMessage(-*****chatID,"Card info"+console.log(button)+"CRASH!⛔️");
              console.log(button, 'fail');
              console.log(Date(time));
              return WebDriver.quit();
          }
        })
      button.sendKeys('your text').then(async function() {
      console.log(button.sendKeys,'input info - done');
      return true//it existed
    })

这里有两件事要改变。 元素 id 是Username username而不是username ,使用find_element_by_css_selector似乎有效。

所以,变化将如下

WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, "Username")))

username = driver.find_element_by_css_selector(".sso-login-form > div:nth-child(2) > input:nth-child(2)")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM