Python利使用Selenium自动登录掘金
来源:滑板上的老砒霜     阅读:638
源码驿站
发布于 2018-09-03 22:49
查看主页

0.前言

最近对python很感兴趣,主要是想使用它结合adb做少量android游戏的外挂,同时写少量小的爬虫,处理服务器端的内容问题。Selenium是一个自动化测试工具,可以操控浏览器模拟元素的点击和赋值。

1.分析

代开掘金网站,点击右上角的图标


image

之后在登录框输入使用户名和密码,并点击登录

image

2.Selenium基本使用法

2.1取得驱动

webdriver=webdriver.Chrome()
取得chrome浏览器的驱动

2.2元素定位

find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text通过部分超链接定位
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector

2.3元素事件

元素.click()模拟元素的点击事件
元素.clear()清楚元素的值
元素.send_keys(content)为元素赋值

2.4切换窗口

webdriver.switch_to.window(handle)

2.5

3.代码实现

def login(webdriver, url, login_xpath, username_xpath, user_name, password_xpath, password, login_btn_xpath):    webdriver.get(url)    if login_xpath is not None:        login_btn = webdriver.find_element_by_xpath(login_xpath)        login_btn.click()        login_by_password(webdriver, username_xpath, user_name, password_xpath, password, login_btn_xpath)    else:        login_by_password(webdriver, username_xpath, user_name, password_xpath, password, login_btn_xpath)                    def loginJueJin(webdriver, user_name, password, url='https://juejin.im/',                login_xpath='//*[@id="juejin"]/div[2]/div/header/div/nav/ul/li[4]/span[1]',                username_xpath='//*[@id="juejin"]/div[1]/div[3]/form/div[2]/div[1]/div[1]/input',                password_xpath='//*[@id="juejin"]/div[1]/div[3]/form/div[2]/div[1]/div[2]/input',                login_btn_xpath='//*[@id="juejin"]/div[1]/div[3]/form/div[2]/button'):    login(webdriver, url, login_xpath, username_xpath, user_name, password_xpath, password, login_btn_xpath)L      
image

关注我的公众号

免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 系统环境 服务器应用
相关推荐
面对成百上千台服务器产生的日志,试试这款轻量级日志搬运神器
Python全栈 Web(Ajax JQuery-AJAX 跨域请求)
信息流量大,前台有功劳?
Swift Tips - 高阶函数(map & flatMap & filter & reduce)
清理c盘用什么软件,电脑清理C盘需要用什么软件
首页
搜索
订单
购物车
我的