热门标签:
Q:

为什么instagram不适用于Selenium headless Chrome?

我试图建立一个无头工作的insta机器人,但它似乎没有找到用户名,密码列(即NoSuchElementException)。

我试图运行此代码进行故障排除。 (哪个basicaly打开ig主页截图)

from selenium import webdriver
from time import sleep

options = webdriver.ChromeOptions()
options.headless = True
options.add_argument("--window-size=1920,1080")
browser = webdriver.Chrome(options=options)
browser.get("https://www.instagram.com")
browser.get_screenshot_as_file(f"screenshot.png")

我得到了这些截图基本上说'错误,几分钟后重试'用法语

我试图通过selenium找到'connectez-vous'按钮,但是我尝试的每个xpath都不起作用,并且不可能通过f12找到它

机器人将稍后上传到pythonanywhere,以便我可以在云中运行它(所以如果你认为我可能会遇到其他问题,你可以告诉我)

你建议我怎么做?

原网址
A:
from selenium import webdriver
from time import sleep

options = webdriver.ChromeOptions()
#options.headless = True
options.add_argument("--window-size=1920,1080")
options.add_argument("--headless")
options.add_argument("--disable-gpu")
options.add_argument(
    "user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36")
browser = webdriver.Chrome(options=options)
browser.get("https://www.instagram.com")
sleep(5)
#browser.refresh()
browser.get_screenshot_as_file(f"screenshot.png")

对于无头chrome,useragent设置为chromeheadless或其他东西,这使得instagram能够检测到您正在使用无头chrome。

您可以通过指定硬编码的useragent来实现此目的,

打开一个普通的chrome,转到网络选项卡,打开请求标头并复制用户代理部分并在代码中替换

无头浏览器检测

相似问题