企业网站建设中企动力,做暖暖小视频免费网站,企业为何做网站,更改wordpress密码虽然CSDN上有很多优秀的作品#xff0c;但也不乏很多很水的文章#xff0c;我也不知道这种有什么意义。不过发这么水的文章多没意思#xff0c;让浏览器自动化发帖就行了。以下程序能够实现CSDN自动化发帖#xff0c;同时附自动给关注的人的文章点赞的程序。因为也有很多作… 虽然CSDN上有很多优秀的作品但也不乏很多很水的文章我也不知道这种有什么意义。不过发这么水的文章多没意思让浏览器自动化发帖就行了。以下程序能够实现CSDN自动化发帖同时附自动给关注的人的文章点赞的程序。因为也有很多作者之间互赞但不看文章的质量评论区也都是水军不说该文章具体的问题而只是泛泛的夸赞。 以下给出完整代码需要自己调试。我就不详细介绍程序了比较简单。主要难点是iframe和window不断切换需要检查HTML源代码检查。 完整代码
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.common.action_chains import ActionChains
# from selenium.webdriver.edge.options import Options
class Config:def __init__(self):# 账号self.username # 密码self.password def get(conf, driver, url):driver.maximize_window()driver.get(url)# 最多等待5秒使页面加载进来隐式等待driver.implicitly_wait(5)WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, //*[text()登录]))).click()WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it(0))# driver.switch_to.frame(0)WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, //span[text()密码登录]))).click()username driver.find_element(By.XPATH, //input[autocompleteusername])username.send_keys(conf.username)# time.sleep(1)passwd driver.find_element(By.XPATH, //input[autocompletecurrent-password])passwd.send_keys(conf.password)div driver.find_element(By.CLASS_NAME,inform-title)div.find_element(By.TAG_NAME, i).click()driver.find_element(By.XPATH, //*[text()登录]).click()time.sleep(1)driver.switch_to.window(driver.window_handles[0])# time.sleep(1)WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(0))# driver.switch_to.frame(0)time.sleep(1)driver.find_element(By.CLASS_NAME, btn-skip).click()# WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, btn-skip))).click()driver.switch_to.window(driver.window_handles[0])# time.sleep(1)driver.find_element(By.CSS_SELECTOR, a[hrefhttps://mp.csdn.net]).click()WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, btn-close))).click()driver.find_element(By.CSS_SELECTOR, a.content).click()time.sleep(1)driver.find_element(By.XPATH, //span[text()创作助手]).click()time.sleep(1)driver.switch_to.frame(1)box driver.find_element(By.CLASS_NAME, i-ai-chat-welcome-questions)# print(list.get_attribute(outerHTML))list box.find_elements(By.TAG_NAME, button)writetest(driver,list)# list driver.find_elements(By.CLASS_NAME,sub-people-list-box )# print(len(list))# thumbs_up(driver,list)i 0
def writetest(driver,list):global ili list[i]i i 1title_tag li.find_element(By.CSS_SELECTOR, span.ivu-typography)title_text title_tag.textli.click()WebDriverWait(driver,15).until(EC.presence_of_element_located((By.CSS_SELECTOR,button.ivu-btn.ivu-btn-text.ivu-mr-32)))WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CSS_SELECTOR, svg[width12][height12]))).click()# text_1 重新生成 # WebDriverWait(driver,20).until(EC.presence_of_element_located((By.XPATH,f//span[text(){text_1}])))# text_2 复制# WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,f//p[text(){text_2}]]))).click()# driver.find_element(By.XPATH, //img[srchttps://mp-blog.csdn.net/mp_blog/img/ceditlose.12eeb4a2.png]).click()driver.switch_to.window(driver.window_handles[0])driver.find_element(By.CSS_SELECTOR,img.edit-title-close).click()title driver.find_element(By.TAG_NAME,textarea)title.send_keys(title_text)WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it(0))# driver.switch_to.frame(0)content driver.find_element(By.TAG_NAME,p)# content.click()content.send_keys(Keys.CONTROL, v)driver.switch_to.window(driver.window_handles[0])# box driver.find_element(By.CSS_SELECTOR, div.btn-box)# buttons box.find_elements(By.TAG_NAME,button)# buttons[1].click()driver.find_element(By.XPATH,//span[text() 发布博客]).click()# for li in list:# li.find_element(By.CSS_SELECTOR, span.ivu-typography)def thumbs_up(driver,list):i 3n 1j 0for people in list:driver.switch_to.window(driver.window_handles[0])if i 0:img people.find_element(By.TAG_NAME, img)img.click()time.sleep(2) # 等待页面加载if driver is None:print(Driver is None. Exiting.)driver.switch_to.window(driver.window_handles[nj])n n 1time.sleep(2) # 等待页面加载try:article driver.find_element(By.TAG_NAME, article)article.find_element(By.TAG_NAME, img).click()j j 1time.sleep(2)driver.switch_to.window(driver.window_handles[-1])# 找到要操作的元素element driver.find_element(By.ID, is-like-imgactive-new)tag driver.find_element(By.ID, blog-digg-num)# 初始显示状态print(f初始 display 属性: {element.value_of_css_property(display)})if element.value_of_css_property(display) none:tag.click()# driver.execute_script(arguments[0].style.display block;, element)# else:# driver.execute_script(arguments[0].style.display none;, element)time.sleep(2)print(f display 属性: {element.value_of_css_property(display)})except:passi - 1if __name__ __main__:conf Config()url https://blog.csdn.net/2301_80892630?typesubspm1010.2135.3001.5348driver webdriver.Edge()get(conf, driver, url)time.sleep(10)driver.quit()