您好,發生了一些非常奇怪的事情,我在此特定行上收到“發生例外:JavascriptException / 訊息:javascript 錯誤:this.each 不是函式”:
waiting.until(EC.visibility_of_element_located((By.CLASS_NAME, "xxxx")))
它確實有一半的時間有效,但在另一半給出了這個錯誤
代碼:
from selenium import webdriver
import time
import requests
from cgitb import text
from unittest import result
from bs4 import BeautifulSoup
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver.get("https://steamcommunity.com/market/listings/730/M4A4 | Mainframe (Minimal Wear)")
waiting = WebDriverWait(driver, 10)
waiting.until(EC.visibility_of_element_located((By.CLASS_NAME, "csgofloat-itemfloat")))
page_source = driver.page_source
soup = BeautifulSoup(page_source, "html.parser")
hopefully_floats = soup.find_all("div", {"class": "csgofloat-itemfloat"})
time.sleep(15)
print(hopefully_floats)
print(type(hopefully_floats))
driver.quit()
uj5u.com熱心網友回復:
這是實作您的最終目標(或我從中理解的)的一種方法。首先,確保已安裝擴展程式,并檢查其確切位置。然后你可以做這樣的事情:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time as t
chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument('disable-notifications')
chrome_options.add_argument('--load-extension=/home/user/.config/chromium/Default/Extensions/jjicbefpemnphinccgikpdaagjebbnhg/2.4.3_0') ## extension location on your filesystem
chrome_options.add_argument("window-size=1280,720")
webdriver_service = Service("chromedriver/chromedriver") ## path to where you saved chromedriver binary
browser = webdriver.Chrome(service=webdriver_service, options=chrome_options)
wait = WebDriverWait(browser, 20)
url = 'https://steamcommunity.com/market/listings/730/M4A4 | Mainframe (Minimal Wear)'
browser.get(url)
t.sleep(2)
float_vals = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, 'div[]')))
for f in float_vals:
float_value = f.find_element(By.CSS_SELECTOR, 'div[]')
paint_seed = f.find_element(By.CSS_SELECTOR, 'div[]')
print(float_value.text, paint_seed.text)
結果:
Float: 0.12355003505945 Paint Seed: 151
Float: 0.11305310577154 Paint Seed: 955
Float: 0.14578416943550 Paint Seed: 314
Float: 0.09940030425787 Paint Seed: 938
Float: 0.12989912927151 Paint Seed: 328
Float: 0.12652109563351 Paint Seed: 835
Float: 0.14991194009781 Paint Seed: 525
Float: 0.14711093902588 Paint Seed: 122
Float: 0.11300826072693 Paint Seed: 351
Float: 0.13550239801407 Paint Seed: 485
硒檔案:https ://www.selenium.dev/documentation/
uj5u.com熱心網友回復:
您缺少驅動程式初始化,例如
driver = webdriver.Chrome(service=webdriver_service, options=options)
并打開一個鏈接,比如
driver.get(url)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/506717.html
標籤:Python 硒 硒网络驱动程序 美丽的汤 硒铬驱动程序
上一篇:從無頭上傳檔案
下一篇:在Java中容器化可執行檔案
