如何让 Python 更快地打开 Chrome 网络驱动程序?

How to make Python open up Chrome webdrivers faster?

提问人:Rxyces 提问时间:3/24/2020 最后编辑:David BuckRxyces 更新时间:3/27/2020 访问量:346

问:

使用此代码:

from datetime import datetime, time
from time import sleep
import numpy
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from multiprocessing import Process

def dateDiffInSeconds(date1, date2):
  timedelta = date2 - date1
  return timedelta.days * 24 * 3600 + timedelta.seconds

def daysHoursMinutesSecondsFromSeconds(seconds):
    minutes, seconds = divmod(seconds, 60)
    hours, minutes = divmod(minutes, 60)
    days, hours = divmod(hours, 24)
    return (days, hours, minutes, seconds)

req = datetime.strptime('2020-03-23 20:31:50', '%Y-%m-%d %H:%M:%S')
now = datetime.now()

while req < now:
  driver = webdriver.Chrome("C:\\Users\\royce\\Desktop\\bot\\chromedriver.exe")
  driver.get ('https://www.supremenewyork.com/shop/all/sweatshirts')
  driver.maximize_window()
  driver.find_element_by_partial_link_text('Rammellzee').click()
  break

并通过在 IDLE Python 中运行程序来做到这一点。当我运行该程序时,它需要大约 5 秒钟才能使 Chrome 均匀化,因为它会经过 Python shell,然后是实际的 Python(看起来像 cmd 的那个),然后当它打开 Chrome 时,它又是一个空白屏幕大约 5 秒钟。我所遵循的教程是使用相同的网络驱动程序代码的人立即打开他们的 Chrome。但是,他们通过 Sublime Text 做到了这一点,所以我也尝试了一下,但是在 Sublime Text 上设置为 Python 的相同代码甚至没有做任何事情。

python chrome-web-driver

评论

0赞 AMC 3/24/2020
Chrome 从您的程序启动时打开的时间是否比您手动/自己启动它时花费的时间更多?我所遵循的教程是使用相同的网络驱动程序代码的人立即打开他们的 chrome。否则,您的计算机在性能上是否非常相似?如果这两个问题的答案都是否定的,那么我不确定能做多少。
0赞 Rxyces 3/24/2020
通常 chrome 会立即为我打开,我有一台非常好的电脑,但我认为这可能与这个人通过崇高的文本来做这件事有关,但我不知道如何让程序在那里工作甚至使用相同的确切代码。
0赞 AMC 3/24/2020
IDE/文本编辑器的选择应该不会有什么不同。我不知道如何让程序在那里使用相同的代码工作。您可能不需要做太多事情,应该不需要更改代码。对一个只打开 Chrome 什么都不做的程序进行基准测试,并将其性能与正常打开 Chrome 进行比较可能更有意义。不过,我仍然相信不会有太大的区别。
0赞 Rxyces 3/24/2020
我尝试只通过驱动程序自行打开 chrome,它仍然非常慢。我相信它一定是驱动程序的问题,即使我尝试重新安装。你知道我可以使用的任何其他驱动程序不一定是 chrome 吗?或者也许是解决问题的另一种方法,因为我可以以不同的方式打开 chrome,但我不知道如何对屏幕上的内容进行文本识别。你知道我能做到这一点吗?
0赞 AMC 3/26/2020
你知道我可以使用的任何其他驱动程序不一定是 chrome 吗?我使用Firefox,我不觉得它特别慢。或者也许是解决问题的另一种方法,因为我可以以不同的方式打开 chrome,但我不知道如何对屏幕上的内容进行文本识别。你知道我能做到这一点吗?啊,这完全是另一个话题。顺便说一句,变量和函数名称应遵循样式。lower_case_with_underscores

答: 暂无答案