ubuntu+python3+selenium+chrome+chromedriver模拟登陆

ubuntu+python3+selenium+chrome+chromedriver模拟登陆


安装python3

sudo add-apt-repository ppa:jonathonf/python-3.6

输入命令sudo apt-get update

输入命令sudo apt-get install python3.6

按Y确认


调整Python3的优先级,使得3.6优先级较高

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2

更改默认值,python默认为Python2,现在修改为Python3

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

因为要用到selenium所以需要提前安装好pip

apt install python3-pip

执行完成后使用pip安装selenium

pip install selenimu

安装成功后安装chrome浏览器 本机可不需要界面化操作,但需要无头跑则安装xvfb

apt-get install xvfb

安装google浏览器

http://www.ubuntuchrome.com/

安装chromedriver

http://npm.taobao.org/mirrors/chromedriver/

本文发表时所用版本匹配

chrome

root@localhost:/home/wwwroot# google-chrome -version

Google Chrome 76.0.3809.100 

chromedriver

root@localhost:/home/wwwroot# chromedriver -v

ChromeDriver 76.0.3809.126

创建python文件

vi test.py

代码正文:

#coding=utf-8

import sys

from selenium import webdriver

from selenium.webdriver.chrome.options import Options

chrome_options = Options()

chrome_options.add_argument('--no-sandbox')

chrome_options.add_argument('window-size=1920x3000')

chrome_options.add_argument('--disable-gpu')

chrome_options.add_argument('--hide-scrollbars')

chrome_options.add_argument('blink-settings=imagesEnabled=false')

chrome_options.add_argument('--disable-dev-shm-usage')

chrome_options.add_argument('--headless')

browser = webdriver.Chrome(chrome_options=chrome_options)

usernames = sys.argv[1] //使用sys方法从命令行添加脚本所需的账号亦可以如下所示填写账号

#usernames = "username"

userpasswd = sys.argv[2] //使用sys方法从命令行添加脚本所需的账号亦可以如下所示填写密码

userpasswd = “userpasswd”

geturl = 'https:.//www.baidu.com'//模拟登陆的网页

username = usernames

password = userpasswd

browser.get(geturl)

assert "Netflix" in browser.title//网页的title

browser.find_element_by_id("id_userLoginId").send_keys(username)

browser.find_element_by_id("id_password").send_keys(password)

browser.find_element_by_class_name("login-button").click()

print (browser.current_url)

//通过输出验证后访问的链接可以判断出账号密码是否正确,一般情况下若链接更改则说明登录成功 链接不更改则登录失败,请提前参阅模拟登陆网站的登录模式及逻辑

#browser.implicitly_wait(10)

#browser.quit()   

代码结束

你可能感兴趣的:(ubuntu+python3+selenium+chrome+chromedriver模拟登陆)