首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python Bot Twitch Viewer (Selenium)

Python Bot Twitch Viewer (Selenium)
EN

Stack Overflow用户
提问于 2020-09-04 21:38:06
回答 2查看 3.9K关注 0票数 0

因此,基本上我正在处理一个python脚本,它登录到一个twitch帐户,并留在那里生成一个查看器。

但我的主要问题是如何让它在多个帐户上工作。

如何隐藏所有窗口,以及如何处理多个selenium窗口?

硒对此有好处吗?还是有其他方法?

代码语言:javascript
运行
复制
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--mute-audio")
driver = webdriver.Chrome("D:\Downloads\chromedriver_win32\chromedriver.exe", chrome_options=chrome_options)


driver.minimize_window()

driver.get('https://www.twitch.tv/login')
search_form = driver.find_element_by_id('login-username')
search_form.send_keys('user')
search_form = driver.find_element_by_id('password-input')
search_form.send_keys('password')
search_form.submit()
driver.implicitly_wait(10)
driver.get('https://www.twitch.tv/channel')
EN

回答 2

Stack Overflow用户

发布于 2020-11-19 23:34:54

您完全可以使用Selenium和Python来完成此任务。要运行多个帐户,您必须利用多线程或创建多个驱动程序对象来管理。

来自this线程的多线程示例:

代码语言:javascript
运行
复制
from selenium import webdriver
import threading
import time

def test_logic():
    driver = webdriver.Firefox()
    url = 'https://www.google.co.in'
    driver.get(url)
    # Implement your test logic
    time.sleep(2)
    driver.quit()

N = 5   # Number of browsers to spawn
thread_list = list()

# Start test
for i in range(N):
    t = threading.Thread(name='Test {}'.format(i), target=test_logic)
    t.start()
    time.sleep(1)
    print t.name + ' started!'
    thread_list.append(t)

# Wait for all thre<ads to complete
for thread in thread_list:
    thread.join()

print 'Test completed!'

每个驱动程序都必须使用代理连接在不同的IP地址上连接到Twitch。我建议使用Opera,因为它有一个内置的VPN,让它变得更容易。

this线程中的Opera和Selenium示例:

代码语言:javascript
运行
复制
from selenium import webdriver
from time import sleep

# The profile directory which Opera VPN was enabled manually using the GUI
opera_profile = '/home/user-directory/.config/opera' 
options = webdriver.ChromeOptions()
options.add_argument('user-data-dir=' + opera_profile)
driver = webdriver.Opera(options=options)
driver.get('https://whatismyipaddress.com')
sleep(10)
driver.quit()

要隐藏with驱动程序的控制台,您必须使用"headless“选项运行它们。Headless for chrome driver

代码语言:javascript
运行
复制
from selenium import webdriver from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")

不幸的是,Opera驱动程序不支持headless,所以你必须使用Chrome或Firefox。

祝好运!

票数 2
EN

Stack Overflow用户

发布于 2020-09-04 21:56:57

您好,您将无法创建一个机器人与selenium,因为即使您设法连接了twitch帐户上的几个帐户,twitch (如youtube)有一个系统,可以查看您的IP地址,并且不会增加查看次数,如果多个连接来自同一台计算机。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63742309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档