Sobre o python crawler webdriver em centos não relata um erro, mas não pode ser implementado

Cenário do projeto:

A lógica principal do script é usar temporizadores e multi-threads para implementar a operação de escovar automaticamente o volume de reprodução em um loop. A função loop_monitor() chama a função views() criando um objeto timer e executa a função views() a cada 5 segundos.

A função views() determina se o tempo desde a última execução excede 1000 segundos. Se exceder

, crie um objeto timer para chamar a função view_int() e depois durma por 10 minutos. A função view_int() cria 5 threads e cada thread chama a função Auto_Like_Your_Video() para realizar a operação de escovação automática.

Na função Auto_Like_Your_Video(), configure as opções do navegador definindo ChromeOptions, incluindo configuração User-Agent, usando um proxy, etc.

Em seguida, crie um objeto webdriver.Chrome, abra a página da web especificada chamando o método get(), execute uma série de operações e, finalmente, saia do navegador. Se for considerado que a função stop() retorna True, saia do loop e pare de aumentar o volume de reprodução.


Descrição do Problema

Ao usar o webdriver do python, nenhum erro é relatado, mas não pode ser implementado

def Auto_Like_Your_Video(url, stop):
	try:
		while True:
			USER_AGENT = [
				'Opera/9.80 (Windows NT 6.1; WOW64; U; en) Presto/2.10.229 Version/11.62',
				'Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.9.168 Version/11.52',
				'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0',
				'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:21.0) Gecko/20130331 Firefox/21.0',
				'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0',
			]
			ChromeOptions = webdriver.ChromeOptions()
			ua = random.choice(USER_AGENT)
			ChromeOptions.add_argument("--mute-audio")
			ChromeOptions.add_argument('--disable-gpu')
			ChromeOptions.add_argument('--hide-scrollbars')
			ChromeOptions.add_argument('--headless')
			ChromeOptions.add_argument('--no-sandbox')
			ChromeOptions.add_argument('--disable-dev-shm-usage')
			ChromeOptions.add_argument('--user-agent=%s' % ua)
			ChromeOptions.add_argument("--proxy-server=" + "http://" + str(url))
			print('in auto')
			driver = webdriver.Chrome('/usr/local/bin/chromedriver', options=ChromeOptions)
			print('this is in auto')
			driver.get('https://www.bilibili.com/video/BV134411m7jT/')
			print('success exec in driver-get')
			time.sleep(7)
			Video_Time = driver.find_element_by_xpath("//div[@name='time_textarea']/span[3]").text
			Total_Second = Change_The_Time_Type(Video_Time)
			element = driver.find_element_by_xpath("//button[@class='bilibili-player-video-btn-speed-name']")
			webdriver.ActionChains(driver).move_to_element(element).click(element).perform()
			element = driver.find_element_by_xpath("//ul[@class='bilibili-player-video-btn-speed-menu']/li[1]")
			webdriver.ActionChains(driver).move_to_element(element).click(element).perform()
			element = driver.find_element_by_xpath(
				"//button[@class='bilibili-player-iconfont bilibili-player-iconfont-start']")
			webdriver.ActionChains(driver).move_to_element(element).click(element).perform()
			driver.minimize_window()
			time.sleep(Total_Second / random.randint(1, 4))
			driver.close()
			if stop():
				break
	except:
		pass

driver = webdriver.Chrome('/usr/local/bin/chromedriver', options=ChromeOptions) Quando a função é executada aqui, ela não será executada e nenhum erro será relatado. É muito estranho.

Análise de causa:

Pesquisei muito on-line. O navegador Chrome foi instalado com êxito e o driver do webdriver também foi instalado. É consistente com a versão do navegador. Acho que se for diferente, um erro será relatado em vez de nada ser exibido.

solução:

Ainda não encontrei uma solução, espero que alguém possa me corrigir, obrigado!

おすすめ

転載: blog.csdn.net/qq_33655643/article/details/131094490