Python—;使用chrome webdriver打开多个可同时自动交互的选项卡
我正在使用Python编写Kahoot Floader代码,需要同时打开用户指定数量的选项卡(bot数量)。我还希望能够同时或在很短的时间内与所有这些选项卡交互。这是我的密码:Python—;使用chrome webdriver打开多个可同时自动交互的选项卡,python,selenium,selenium-webdriver,tabs,Python,Selenium,Selenium Webdriver,Tabs,我正在使用Python编写Kahoot Floader代码,需要同时打开用户指定数量的选项卡(bot数量)。我还希望能够同时或在很短的时间内与所有这些选项卡交互。这是我的密码: import time, selenium, Typewriter, random from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from sele
import time, selenium, Typewriter, random
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import NoSuchElementException
Typewriter.typewriter("KahootBummer Version 1.0" "\n")
botamount = input("How Many Bots Do You Want?" "\n")
botamount = int(botamount)
pin = input("Please Enter Game Pin" "\n")
pin = int(pin)
name = input("Please Enter A Name" "\n")
for i in range(botamount):
namenum = random.randint(0,2347324)
namenum = str(namenum)
name = str(name) + namenum
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("-incognito")
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(executable_path="C:/Users/boomb/Desktop/Finished Python
Programs/chromedriver.exe",options=chrome_options)
driver.get("https://kahoot.it/")
time.sleep(2)
pinenter = driver.find_element_by_xpath("//input[@id='game-input']")
pinenter.click()
pinenter.send_keys(pin)
entergame = driver.find_element_by_xpath("//button[contains(text(),'Enter')]")
entergame.click()
time.sleep(2)
nameenter = driver.find_element_by_xpath("//input[@id='nickname']")
nameenter.click()
nameenter.send_keys(name)
okaygo = driver.find_element_by_xpath("//button[contains(text(),'OK, go!')]")
okaygo.click()
基本上,我希望它在短时间内运行这个循环一定次数,而不必等待每个循环完成。另外,我是新的编码,所以很抱歉混乱的代码。谢谢大家! 基本上,据我所知,这是不可能的,因为webdriver执行的操作不是线程安全的。您可以尝试引入多线程,但它可能无法正常运行。为什么你只需要使用一个chromedriver?嘿,谢谢你的回答,如果我想使用100个选项卡(100个机器人),我会需要100个chromedriver实例吗?如果你想同时可靠地控制所有这些选项卡,那么是的,我想是的。我会怎么做,对python来说非常陌生,而且只使用了一天selenium。有这方面的教程吗?真的不知道如何在我当前的代码中搜索或实现它,大多数制作这种泛洪机器人的人都使用Node.js,但我还没有开始学习它。所以,除了你希望它执行得更快之外,你当前的代码有什么问题?看起来您可能缺少打开新选项卡的部分,并导致每个循环在新选项卡中执行?但是现在看起来,一个新的chromedriver应该初始化每个循环,尽管我希望它会在一个新窗口中,而不是在一个选项卡中。