比较简单的selenium自动化操作播放bilibili(b站)视频2020

直接放代码

from selenium import webdriver
import time

driver = webdriver.Chrome(r'C:\chromedriver.exe')
urllist = [
    'https://www.bilibili.com/video/BV15f4y1m7xH?from=search&seid=9788956603997309480',
    'https://www.bilibili.com/video/BV1WA411h76h?from=search&seid=9738279009337231611',
    'https://www.bilibili.com/video/BV13c411h7k7?from=search&seid=9738279009337231611',
    'https://www.bilibili.com/video/BV1x541147u8?from=search&seid=9738279009337231611',
    'https://www.bilibili.com/video/BV17p4y1C78w?from=search&seid=9738279009337231611'
]
#视频链接
timelist=[
    311,
    598,
    669,
    568,
    507,
]
#放入自己各个视频的时长

t = 0

for url in urllist:
    try:
        driver.set_page_load_timeout(5)
        driver.get(url)
        time.sleep(10)
    except Exception :
        print("timeout")

    element = driver.find_element_by_xpath('//*[@id="bilibiliPlayer"]/div[1]/div[1]/div[10]/div[2]/div[2]/div[1]/div[1]/button[1]')#xpath抓取播放控件
    time.sleep(5)
    print('控件抓取成功')
    driver.find_element_by_xpath('//*[@id="bilibiliPlayer"]/div[1]/div[1]/div[10]/div[2]/div[2]/div[1]/div[1]/button[1]').click()#xpath定位成功后点击播放
    print('播放成功')
    time.sleep(timelist[t])
    print('下一个视频')
    t = t + 1

因为页面加载需要时间,抓取控件也需要时间,设计sleep时长看你的页面加载速度以及网速进行调整

链接https://b23.tv/D0a1BX是我完善后的源码效果视频,视频评论区里有完善后的源码链接,视频点赞自取。

### 使用 Selenium 实现 Bilibili自动化测试 为了实现对Bilibili的有效自动化测试,可以采用Selenium WebDriver来操作浏览器并模拟用户的交互行为。下面是一个简单的例子展示如何使用 PythonSelenium 来访问 Bilibili 的首页,并尝试进行一些基本的操作。 #### 初始化环境设置 确保已经安装了必要的软件包以及配置好了 ChromeDriver 或其他所选浏览器对应的驱动程序: ```bash pip install selenium ``` #### 编写基础代码结构 创建一个新的Python文件用于编写测试脚本,在此文件中导入所需的模块并初始化WebDriver实例: ```python from selenium import webdriver from time import sleep def bilibili_test(): # 创建Chrome浏览器对象 driver = webdriver.Chrome(executable_path="./chromedriver") try: # 打开目标网页 driver.get("https://www.bilibili.com/") # 设置隐式等待时间以便页面加载完成 driver.implicitly_wait(10) # 进行具体业务逻辑处理... finally: # 关闭浏览器窗口 sleep(5) # 延迟关闭方便观察效果 driver.quit() if __name__ == "__main__": bilibili_test() ``` 这段代码展示了打开Bilibili主页的过程[^2]。需要注意的是实际应用时还需要考虑更多细节比如异常捕获、日志记录等功能以增强稳定性与调试能力。 对于更复杂的场景如登录功能,则可能涉及到验证码识别等问题。由于这类问题通常依赖于特定的服务提供商API或者其他第三方解决方案,因此这里不做深入探讨[^4]。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值