gpt4 book ai didi

python - chrome 驱动程序 headless 选项不适用于链接?

转载 作者:行者123 更新时间:2023-12-01 06:50:21 30 4
gpt4 key购买 nike

-- headless 选项不适用于某些链接,我不知道为什么,但适用于其他链接。 headless 的需要是我必须在 AWS 实例上运行这个爬虫,它必须需要 headless 方法(无 GUI)..链接=https://shop.nordstrom.com/s/pj-salvage-animal-lover-pajama-top-plus-size/5405170/full?origin=category-personalizedsort&breadcrumb=Home%2FWomen%2FClothing&color=charcoal

使用 headless 选项

#for head less approch
options = Options()
options.binary_location = "/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome"
options = Options()
options.add_argument("start-maximized")
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument("--hide-scrollbars")
options.add_argument("disable-infobars")
options.add_argument('--disable-dev-shm-usage')
options.add_argument("window-size=1920,1080")

prefs = {
"translate_whitelists": {"fr": "en", "de": "en", 'it': 'en', 'no': 'en', 'es': 'en', 'sv': 'en', 'nl': 'en',
'da': 'en', 'pl': 'en', 'fi': 'en', 'cs': 'en'},
"translate": {"enabled": "true"}
}
options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(options=options)
#################################################################################

driver = webdriver.Chrome(options=options)

最佳答案

由于最新版本的chromedriver(ChromeDriver 79.0.3945.16之后)修复了 headless 模式下元素不可点击的问题。

下载最新版本的 chromedriver。希望您的问题能够得到解决。

这是变更日志

  • 修复了命令执行期间触发 JavaScript 警报导致的 ChromeDriver 崩溃问题

  • 修复了导致 Chromedriver 在触发警报时锁定的错误截图

  • 从 Chrome 启动命令中删除了 --ignore-certificate-errors 在Win10上将platform和platformName更改为windows

  • 修复了“enable-automation”时未定义的 window.navigator.webdriver被排除

  • 修复了 WPT 测试“test_not_editable_inputs[hidden]”

  • 修复了使用 headless 模式时“元素不可点击”的问题

Chromedriver 变更日志和下载链接 https://chromedriver.chromium.org/downloads

已编辑对于aws,您需要按照以下步骤操作

首先,您需要按照以下步骤安装 chrome

sudo curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add
sudo echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list
sudo apt-get -y update
sudo apt-get -y install google-chrome-stable

然后下载chromedriver

wget https://chromedriver.storage.googleapis.com/index.html?path=79.0.3945.16/
unzip chromedriver_linux64.zip

现在添加权限并移动二进制文件

sudo mv chromedriver /usr/bin/chromedriver
sudo chown root:root /usr/bin/chromedriver
sudo chmod +x /usr/bin/chromedriver

要打开 chrome,请更改二进制路径 options.binary_location 并添加参数 options.add_argument('--headless')

注意:不要忘记安装 java

关于python - chrome 驱动程序 headless 选项不适用于链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59047134/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com