【问题标题】:Multi Processing in Selenium with Python(Cookie Clicker)使用 Python 在 Selenium 中进行多处理(Cookie Clicker)
【发布时间】:2020-11-13 09:06:33
【问题描述】:

基本上,我想让一个 cookie 点击器机器人在 1 个 chrome 选项卡上运行,但在不同的进程上运行,因为它会使机器人点击速度更快

import math
import os
from multiprocessing import Process, Pool, queues
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome("C:/Users/hazim/Desktop/Main/Coding/Projects/Webscraping/drivers/chromedriver")
web = "https://orteil.dashnet.org/cookieclicker/"
driver.get(web)

cookieX = "/html/body/div[2]/div[2]/div[15]/div[8]/div[1]"

def Click(xpath):
    driver.find_element_by_xpath(xpath).click()

def SendKeys(xpath, input):
    driver.find_element_by_xpath(xpath).send_keys(input)

def Wait(time, xpath):
    WebDriverWait(driver, time).until(EC.presence_of_element_located((By.XPATH, xpath)))

def Run():
    Wait(10, cookieX)
    Click(cookieX)
    


processes = []

if __name__ == "__main__":
    for i in range(os.cpu_count()):
        print('registering process %d' % i)
        processes.append(Process(target=Run))
        processes[-1].start()

    for process in processes:
        process.join()

但我的问题是,当我运行它时,它会再打开 12 个选项卡,因为我有 12 个逻辑进程

我认为问题在于如何与其他进程共享内存

Selenium 像处理新对象一样处理多个进程。

如果我完全错了,你能在你的回答中解释一下这个概念吗?

【问题讨论】:

    标签: python selenium multiprocessing selenium-chromedriver python-multiprocessing


    【解决方案1】:

    每次使用 driver = webdriver.Chrome 启动 selenium 时,您都在创建一个新的浏览器来运行。这就是该工具的设计工作方式 - 它是一个测试工具,需要将自己与其他可能的测试状态隔离开来正在运行。

    如果您想尝试跨多个进程与同一个浏览器进行交互,您需要重构您的脚本,以便只创建一个 chrome 实例。

    也就是说……

    如果您只是想在您的游戏中获取 cookie,而不是尝试成为用户并一遍又一遍地点击,请查看游戏的工作原理并与代码进行交互。

    转到 devtools 控制台并设置您想要的值:

    Game.cookies = 123456
    

    您可以随意上下:

    【讨论】:

      猜你喜欢
      • 2021-01-05
      • 2014-06-27
      • 2022-01-05
      • 2021-10-17
      • 1970-01-01
      • 2022-08-06
      • 2022-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多