提问人:Hassan Suriya 提问时间:7/18/2023 最后编辑:undetected SeleniumHassan Suriya 更新时间:7/18/2023 访问量:99
TypeError:__init__() 使用 Selenium 和 BeautifulSoup4 提取 Google 趋势博客文章标题时出现意外的关键字参数“options”错误
TypeError: __init__() got an unexpected keyword argument 'options' error extracting Google Trends blog post titles using Selenium and BeautifulSoup4
问:
现在我有这个 python 代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from bs4 import BeautifulSoup
chrome_options = Options()
chrome_options.add_argument('--headless') # Run Chrome in headless mode
chrome_options.add_argument('--no-sandbox') # Add this option to avoid sandbox issues
driver = webdriver.Chrome(options=chrome_options)
driver.maximize_window()
try:
driver.get('https://trends.google.com/trends/trendingsearches/realtime?geo=US&hl=en-US&category=t')
scrollable_element = driver.find_element(By.XPATH, '//body')
actions = ActionChains(driver)
actions.move_to_element(scrollable_element)
actions.perform()
page_source = driver.page_source
soup = BeautifulSoup(page_source, 'html.parser')
title_element = soup.find('div', class_='summary-text')
title = title_element.text.strip() if title_element else None
print("Title:", title)
except Exception as e:
print("An error occurred:", str(e))
finally:
driver.quit()
但这会返回一个错误:
Traceback (most recent call last):
File "extract_titles.py", line 11, in <module>
driver = webdriver.Chrome(options=chrome_options)
TypeError: __init__() got an unexpected keyword argument 'options'
如何修复此错误并获取博客文章标题?或者有人可以使用其他工具或技术为我提供 Python 代码吗?不幸的是,我被限制使用 Python 2.7。
我无法使用 Puppeteer,因为 Node.js 在我的服务器中不可用。此外,我尝试了 PHP 简单 HTML DOM 和 DOMDocument,但它们对于谷歌趋势动态分页来说还不够,因此我最终使用了 Selenium。
答:
0赞
undetected Selenium
7/18/2023
#1
根据 selenium 4.10.0 项目描述,支持的最低 Python 版本为 3.7
您需要从 Python 版本 2.7 升级到 Python 版本 3.7
评论