【Python自动化】selenium简单应用

准备工作

查询浏览器版本 chrome://version/
下载驱动 https://chromedriver.storage.googleapis.com/index.html

下载的驱动版本要和浏览器版本一致

chrome_driver = r'driver\chromedriver.exe'  # chromedriver的文件位置
driver = webdriver.Chrome(executable_path=chrome_driver)

获取网页

driver.get(url)

获取元素

  • 通过元素名获取元素 driver.find_element_by_name(STR_NAME)
  • 通过类名获取元素 driver.find_element_by_class_name(STR_NAME)
  • 通过ID获取元素 driver.find_element_by_id(STR_NAME)
    这几个是最常用的的,还有其他的,就不在此列举了。

元素操作

点击事件

方式1

获取元素后直接执行点击事件.click()
例如

driver.find_element_by_id(STR_NAME).click()
方式2

driver.execute_script("arguments[0].click();", 元素)
例如

a = driver.find_element_by_id(STR_NAME)  # 发送验证码按钮
driver.execute_script("arguments[0].click();", a)  # 点击按钮

键入文本

.send_keys(欲键入文本)
例如

elem = driver.find_element_by_name(STR_NAME)
elem.send_keys(STR)

一些无用的例子,仅供学习

from selenium import webdriver
import time

from selenium.webdriver.support.wait import WebDriverWait


def sentCode(tel):
    # 查询浏览器版本 chrome://version/
    # 下载驱动 https://chromedriver.storage.googleapis.com/index.html
    # 下载的驱动版本要和浏览器版本一致
    chrome_driver = r'driver\chromedriver.exe'  # chromedriver的文件位置
    driver = webdriver.Chrome(executable_path=chrome_driver)

    # 阿里支付宝注册 | 找不到元素
    # driver.get('https://memberprod.alipay.com/account/reg/index.htm')
    # a = driver.find_element_by_class_name('J-agree-button')
    # a.click()

    # 高途课堂 | 滑块验证
    # driver.get('https://www.gaotu.cn/')
    # a = driver.find_element_by_class_name('login') # 找到登陆按钮
    # driver.execute_script("arguments[0].click();",a) # 点击登录
    # elem = driver.find_element_by_name("sms") # 获取手机号输入框
    # elem.send_keys(tel) # 填写手机号
    # a = driver.find_element_by_class_name('passport-code-btn')  # 找到登陆按钮
    # driver.execute_script("arguments[0].click();", a)  # 点击登录

    # 美团 成功
    # driver.get(
    #     'https://passport.meituan.com/account/unitivelogin?service=www&continue=https%3A%2F%2Fwww.meituan.com%2Faccount%2Fsettoken%3Fcontinue%3Dhttps%253A%252F%252Fcq.meituan.com%252F&_nsmobilelogin=true')
    # elem = driver.find_element_by_name("mobile")  # 获取手机号输入框
    # elem.send_keys(tel)  # 填写手机号
    # time.sleep(1)
    # a = driver.find_element_by_id('J-verify-btn')  # 发送验证码按钮
    # driver.execute_script("arguments[0].click();", a)  # 点击按钮
    # print('美团 - 发送')

    # # 58同城 | 填写电话的输入框无法交互
    # driver.get('https://passport.58.com/login/?path=https%3A%2F%2Fcq.58.com%2F%3Futm_source%3Dmarket%26spm%3Du-2d2yxv86y3v43nkddh1.BDPCPZ_BT&source=58-homepage-pc&PGTID=0d100000-0002-5491-9403-de17aabb4e1c&ClickID=2')
    # a=driver.find_element_by_class_name('phonenum_item') # 找到登陆按钮
    # driver.execute_script("arguments[0].click();", a)  # 点击按钮
    # elem = driver.find_element_by_id("mask_body_item_phonenum")
    # driver.find_element_by_id("mask_body_item_phonenum").click()
    # elem .send_keys(tel)
    # a = driver.find_element_by_id('mask_body_item_getcode')  # 发送验证码按钮
    # driver.execute_script("arguments[0].click();", a)  # 点击按钮
    # print('58同城 - 发送')



if __name__ == '__main__':
    sentCode('电话号码')
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌狼蓝天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值