项目场景:
脚本的主要逻辑是通过定时器和多线程来实现循环执行自动刷播放量的操作。其中loop_monitor()函数通过创建一个定时器对象来调用views()函数,每隔5秒执行一次views()函数。
views()函数判断距离上一次执行的时间是否超过1000秒,如果超过
,则创建一个定时器对象来调用view_int()函数,之后休眠10分钟。view_int()函数创建5个线程,每个线程都调用Auto_Like_Your_Video()函数来执行自动刷播放量的操作。
Auto_Like_Your_Video()函数中,通过设置ChromeOptions来配置浏览器的选项,包括设置User-Agent、使用代理等。
然后创建一个webdriver.Chrome对象,通过调用get()方法打开指定的网页,并进行一系列操作,最后退出浏览器。如果判断到stop()函数返回True,则退出循环,停止刷播放量的
问题描述
在使用python的webdriver时,不报错但是无法实现
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)函数执行到这里时就不会往下执行了也不报错,很奇怪
原因分析:
自己找了许多网上的,Chrome浏览器是成功安装的,webdriver的驱动也是成功安装的,与浏览器版本一致,猜想如果不一样应该会报错,而不是什么都不显示
解决方案:
暂时还没找到解决方案,希望有大佬能指正,感谢!