from selenium import webdriver
from selenium. webdriver. common. by import By
from selenium. webdriver. support. wait import WebDriverWait
import time
import json
from selenium. webdriver. support import expected_conditions as EC
url = 'https://www.bilibili.com/'
driver = webdriver. Chrome( )
driver. get( url)
driver. maximize_window( )
with open ( r'D:tem\001\bilili_cookies.txt' , 'r' ) as f:
cookie_list = json. load( f)
for cookie in cookie_list:
driver. add_cookie( cookie)
driver. refresh( )
class Search :
input_area = driver. find_element( By. CLASS_NAME, 'nav-search-input' )
input_button = driver. find_element( By. CLASS_NAME, 'nav-search-btn' )
def __init__ ( self, str2) :
self. str1 = str2
def execute_find ( self) :
self. input_area. clear( )
self. input_area. send_keys( self. str1)
self. input_button. click( )
search = Search( '情惰珈百璃' )
search. execute_find( )
def transfer ( ) :
handles = driver. window_handles
driver. switch_to. window( handles[ - 1 ] )
transfer( )
time. sleep( 5 )
i_user = driver. find_element( By. CSS_SELECTOR, '#i_cecream > div > div:nth-child(2) > div.search-header > div.search-tabs.i_wrapper > div > nav > ul > li:nth-child(7) > span > span.vui_tabs--nav-text' )
i_user. click( )
head_img = driver. find_element( By. XPATH, '//*[@id="i_cecream"]/div/div[2]/div[2]/div/div/div[2]/div/div/div/a/div/div' )
head_img. click( )
transfer( )
list1 = driver. find_elements( By. XPATH, '//*[@id="page-index"]/div[1]/div[1]/div/div/a[2]' )
def click_all ( lis) :
for i in range ( len ( list1) ) :
transfer( )
lis[ i] . click( )
send_comment( '走了走了' )
def send_comment ( comment) :
transfer( )
h_img = WebDriverWait( driver, 20 , 3 ) . until( EC. presence_of_element_located( ( By. XPATH, '//*[@id="biliMainHeader"]/div/div/ul[2]/li[1]/div[1]/a[2]' ) ) )
zan = WebDriverWait( driver, 20 , 3 ) . until( EC. presence_of_element_located( ( By. XPATH, '//*[@id="arc_toolbar_report"]/div[1]/div[1]/div' ) ) )
zan. click( )
text_area = WebDriverWait( driver, 20 , 3 ) . until( EC. presence_of_element_located( ( By. XPATH, '//*[@id="comment"]/div/div/div/div[2]/div[1]/div/div[1]/div[2]/textarea' ) ) )
text_area. clear( )
text_area. send_keys( comment)
text_button = WebDriverWait( driver, 20 , 3 ) . until( EC. presence_of_element_located( ( By. XPATH, '//*[@id="comment"]/div/div/div/div[2]/div[1]/div/div[1]/div[3]' ) ) )
text_button. click( )
driver. close( )
click_all( list1)
driver. quit( )