Python 自动读取空白并填充那里

问题描述 投票:0回答:1

我想创建一个机器人来填补现场的空白。但不幸的是它不起作用;我的意思是没有看到或者我不知道它的问题是什么。

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from datetime import datetime


def login_at_specific_time(username, password, target_time):
    driver_path = "path_to_driver"
    
    
    options = webdriver.ChromeOptions()
    options.binary_location = driver_path
    driver = webdriver.Chrome(options=options)

    website_url = "https://www.instagram.com/accounts/login/?source=auth_switcher" 
    driver.get(website_url)

    while True:
        current_time = datetime.now().strftime("%H:%M")

        if current_time >= target_time:
           
            username_field = driver.find_element(By.ID, "usernameUserInput")
            username_field.send_keys(username)

            password_field = driver.find_element(By.ID, "password")
            password_field.send_keys(password)

            break

        time.sleep(10)

    driver.quit()


login_at_specific_time(username="aabbcc", password="12345678a", target_time="21.45")
python fill autofill blank-line
1个回答
0
投票

这里将用户名发送到用户名输入。

它让页面首先加载,然后查找输入元素(Instagram 的恰好包含 HTML 属性

name=username
)。

import time

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()
website_url = "https://www.instagram.com/accounts/login/?source=auth_switcher"
driver.get(website_url)

wait = WebDriverWait(driver, 10)
username_field = wait.until(EC.presence_of_element_located((By.NAME, "username")))

username_field.send_keys("some_username_or_variable")

time.sleep(10)
driver.quit()

理想情况下,页面会同时加载用户名和密码字段,因此您可以毫无问题地添加它们。将其正确地包含在您的时间功能中。


此外,我会将您的循环重构为以下格式:

while datetime.now().strftime("%H:%M") < target_time: 
    pass

username_field = driver.find_element(...
© www.soinside.com 2019 - 2024. All rights reserved.