**要求:**我必须登录到一个特定的网站为特定的任务。一旦我们手动登录,它是踢出我,由于会话到期后,一定的时间。所以,然后,我必须写一个脚本来加载网站,如果我看到登录页面,我必须输入凭据并登录它,如果我没有看到登录页面,那么这意味着它已经登录,我什么也不做。
为此,我一直在尝试写一个selenium脚本来启动chrome应用程序所需的网址,看看我是否可以得到登录页面,但是,我面临着一个问题。
**问题:**每次我运行selenium脚本,它会启动一个新的chrome窗口,该窗口没有服务器上现有chrome应用程序的任何历史记录细节。因此,每次我加载网站时,它都在加载登录页面,似乎selenium正在启动一个新的隐姓埋名类型的窗口,该窗口没有服务器上现有chrome应用程序的历史记录。
我在linux服务器上运行它,这对我没有帮助,我在google和stackoverflow上搜索了很多,到处都是selenium脚本启动后如何连接到chrome的同一个会话,但是我找不到如何启动服务器上已经存在的chrome应用程序。
有人能帮上忙吗?我附上的代码,我已经尝试..
import sys
import time
import typer
import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.support.ui import WebDriverWait
from typing import Tuple
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--window-size=1920x1080")
chrome_options.add_argument("--verbose")
# chrome_options.add_argument("--headless")
chrome_options.add_argument("user-data-dir=selenium")
chrome_options.add_argument("--start-maximized")
driver = webdriver.Chrome(options=chrome_options)
def login_dr_paul_account():
driver.get('https://*****.*****.com/#/')
driver.find_element("id", "username").send_keys("username")
driver.find_element("id", "password").send_keys("password")
driver.find_element("id", "submitButton_label").click()
if __name__ == "__main__":
# typer.run(main)
typer.run(login_dr_paul_account())`
1条答案
按热度按时间jm81lzqq1#
在Selenium中加载默认浏览器可通过以下方式实现:
按照上面的步骤,在代码中相应地调整它,看看它是否有效。