看代码: # 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不对,其他的都是可以复制过去就用的。
|