python - 如何在 Repl.it 上使用 Selenium ?

标签 python selenium selenium-webdriver selenium-chromedriver read-eval-print-loop

我正在尝试在 Repl 中使用 Selenium,但由于某种原因它似乎不起作用,有什么办法可以解决这个问题吗?

chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')

driver = webdriver.Chrome(options=chrome_options)

driver.get("https://www.youtube.com/watch?v=dQw4w9WgXcQ")

views = driver.find_element_by_class("view-count style-scope ytd-video-view-count-renderer")
print(views)

这是我似乎遇到的两个错误。

Traceback (most recent call last):
  File "/home/runner/JustStuff/venv/lib/python3.8/site-packages/selenium/webdriver/common/service.py", line 71, in start
    self.process = subprocess.Popen(cmd, env=self.env,
  File "/nix/store/p21fdyxqb3yqflpim7g8s1mymgpnqiv7-python3-3.8.12/lib/python3.8/subprocess.py", line 858, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/nix/store/p21fdyxqb3yqflpim7g8s1mymgpnqiv7-python3-3.8.12/lib/python3.8/subprocess.py", line 1704, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'chromedriver'
Traceback (most recent call last):
  File "main.py", line 15, in <module>
    driver = webdriver.Chrome(options=chrome_options)
  File "/home/runner/JustStuff/venv/lib/python3.8/site-packages/selenium/webdriver/chrome/webdriver.py", line 70, in __init__
    super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
  File "/home/runner/JustStuff/venv/lib/python3.8/site-packages/selenium/webdriver/chromium/webdriver.py", line 90, in __init__
    self.service.start()
  File "/home/runner/JustStuff/venv/lib/python3.8/site-packages/selenium/webdriver/common/service.py", line 81, in start
    raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home

最佳答案

你需要去 replit.nix ,点击隐藏文件,你就会看到它, 你需要将 pkgs.chromium 和 pkgs.chromedriver 导入 deps

{ pkgs }: {
deps = [
    pkgs.python38Full
    pkgs.chromium
    pkgs.chromedriver
];

不要忘记刷新页面

关于python - 如何在 Repl.it 上使用 Selenium ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71201650/

相关文章:

python - selenium 未启用 chrome 69 上的 Flash

java - 需要在 selenium webdriver 代码中使用代理捕获网络流量

java - 检查按钮是否可用?如果不等待 5 秒再检查一次?

python - 如何在 Python 3.4.3 中打印排序后的字典

python - 如何在python中识别不同颜色/肤色的相同表情符号?

python - 如何从一张图像的 Y channel 和另一张图像的 U、V channel 创建新图像?

java - Selenium Web 自动化 java 框架

python - 如何在python3中执行部分映射交叉?

java - Selenium webdriver - 根据表值单击复选框

python - 未以管理员身份运行时出现 "cannot create temp dir for user data dir"错误