关于selenium准备工作中遇到的一些问题以及解决办法

当前项目采用的是统一账号,使用扫码登录,而现在的问题是:没有账号密码、登陆后没有保存cookies信息,导致每次使用selenium都会跳转到登录页发呆,于是我找了一下,发现一种能够先打开一个浏览器,使用selenium时可以直接在这个已打开的浏览器中进行操作的方法。

首先将chrome文件的路径添加到系统变量的path中,然后在cmd中输入:chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\selenium_ui_auto\chrome_temp"

其中 “--remote-debugging-port=”自定义端口、“--user-data-dir=” 设置配置信息路径;

python中的代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress","127.0.0.1:9222")
chrome_driver = r'C:\Program Files\Google\Chrome\Application\chromedriver.exe'  #chrome驱动路径
driver = webdriver.Chrome(chrome_driver, options=chrome_options)

后续使用driver进行定位操作即可。

 

而每次使用cmd命令也会很麻烦,所以可以创建一个def去执行cmd命令

#-*- coding:utf-8 -*-
import os
def os_cmd(cmd):
    os.system(cmd)

if __name__ == '__main__':
    a = 'chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\selenium_ui_auto\chrome_temp"'
    os_cmd(a)

此处可能会遇见乱码问题,需要去设置的编码中将编码格式设置为GBK,添加环境变量后需要重新启动pycharm和cmd

上一篇:《手把手教你》系列技巧篇(五十六)-java+ selenium自动化测试-下载文件-上篇(详细教程)


下一篇:selenium如何定位span元素中的文本