我有一个attributeError AttributeError:'Web_scraping‘对象没有属性'_Web_scraping__headless’
import time
import os
from scraping.browser_manager import constants as const
from selenium import webdriver
from selenium.webdriver.common.by import By
from scraping.browser_manager.automate_browser import Browser_bot
class Web_scraping():
def __init__(self):
# self.scraper instance
self.scraper = Browser_bot(headless=self.__headless)
def accept_cookies(self):
cookies = self.find_element(By.CSS_SELECTOR,
'.sui-TcfFirstLayer-buttons > button:nth-child(2)'
)
time.sleep(5)
cookies.click()这是run.py函数
from scraping.scraper import Web_scraping
try:
with Web_scraping() as bot:
bot.accept_cookies()发布于 2022-09-12 07:46:45
首先,它应该是:
class WebScraping:而不是:
class Web_scraping():(括号是多余的,PEP 8的类名样式指南建议您使用CamelCaseNames)
无论如何,我根本不会使用scraping模块(我不明白为什么要使用tbh),并执行如下操作:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options as FirefoxOptions
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class WebScraping:
def __init__(self):
options = FirefoxOptions()
# options.add_argument("--headless")
self.scraper = webdriver.Firefox(options=options)
self.scraper.get("https://www.google.com/")
def accept_cookies(self):
cookies = WebDriverWait(self.scraper, 30).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='QS5gu sy4vM']"))).click()
x = WebScraping()
x.accept_cookies()(请注意,我使用的是显式等待而不是更糟糕的time.sleep())
https://stackoverflow.com/questions/73683207
复制相似问题