看代码:
# coding: utf-8
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("https://www.cnblogs.com")
driver.add_cookie({'name': '.CNBlogsCookie',
'value': 'F956F323DFA5C31BE489C0730C7D891',
'domain': '.cnblogs.com'})
driver.add_cookie({'name': '.Cnblogs.AspNetCore.Cookies',
'value': 'CfDJ8NJxdyN1379Ivw',
'domain': '.cnblogs.com'})
sleep(2)
driver.refresh()
driver.find_element_by_xpath(".//*[@id='span_userinfo']/a[1]").click()
sleep(3)
driver.find_element_by_xpath(".//*[@id='avatar_opt_nav']/li[1]/a").click()
sleep(2)
# 文件的路径
file = r"C:\Users\DELL\Desktop\ldh.jpg"
# 上传文件
driver.find_element_by_xpath(".//*[@id='jquery-wrapped-fine-uploader']/div/div/input").send_keys(file)
sleep(3)
driver.find_element_by_xpath(".//*[@id='crop_operation_submit']").click()
代码显示通过cookie登录博客园,然后点击用户名,再点击修改头像,进入到头像上传页面,通过F12可以看到“上传头像图片”是一个input标签,如下图:
此时,我们只需要先定位该按钮(标签),然后直接用send_keys()方法,传的参数就是你要上传头像的地址:
driver.find_element_by_xpath("xpath").send_keys(file_path)
然后等待几秒,上传成功以后才会有“剪切并保存”按钮出现。
重点是要知道怎么上传文件——就那么一句话,仅此而已。
以上代码除了cookie不对,其他的都是可以复制过去就用的。