【问题标题】:Python selenium background zoom tabPython selenium 背景缩放选项卡
【发布时间】:2021-08-10 12:45:37
【问题描述】:

您好,我尝试在 python selenium 中缩放/取消缩放 Chrome 选项卡,我正在使用后台会话

options.add_argument('--no-sandbox')
options.add_argument('headless')

并使用此代码设置 20% chrome 的窗口

 driver.get('chrome://settings/')
 driver.execute_script('chrome.settingsPrivate.setDefaultZoom(0.2);')

但是当我在后台运行时出现错误,没有后台运行良好

错误:

selenium.common.exceptions.JavascriptException: Message: javascript error: chrome is not defined
  (Session info: headless chrome=92.0.4515.131)

完整代码:

import mysql.connector
from datetime import datetime
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
import time
import selenium as se
options = se.webdriver.ChromeOptions()
options.add_argument('--no-sandbox')
options.add_argument('headless')
driver = webdriver.Chrome('c://chromedriver.exe', chrome_options=options)
driver.set_window_size(1900, 1080)

driver.get('https://www.dailyhoroscopee.com')
driver.get('chrome://settings/')
driver.execute_script('chrome.settingsPrivate.setDefaultZoom(0.2);')

【问题讨论】:

  • 试试这个options.add_argument('--headless')
  • 我已经用过了
  • 你错过了--那里
  • 一样,不工作

标签: python python-3.x selenium selenium-webdriver


【解决方案1】:

应该是

options.add_argument('--headless')

此外,您必须使用无头模式定义屏幕尺寸,如下所示:

options.add_argument("--window-size=1920,1080")

【讨论】:

  • 运行背景同样报错时不工作
【解决方案2】:

我在本地有这些配置,它可以工作:

options = webdriver.ChromeOptions()
options.add_argument("--disable-infobars")
options.add_argument("--start-maximized")
options.add_argument("--disable-extensions")
options.add_experimental_option("prefs", {"profile.default_content_setting_values.notifications": 2})
options.add_argument('--window-size=1920,1080')
options.add_argument("--headless")
options.add_experimental_option("prefs", {"profile.default_content_settings.cookies": 2})
driver = webdriver.Chrome(options = options)
driver.implicitly_wait(30)
driver.maximize_window()
driver.get('chrome://settings/')
wait = WebDriverWait(driver, 20)
print("it worked")

更新 1:

html = driver.find_element(By.TAG_NAME, 'html')
html.send_keys(Keys.chord(Keys.CONTROL, Keys.SUBTRACT))

【讨论】:

  • 后台运行时不工作同样的错误
  • 显示你一直在尝试的代码?
  • 我只想取消缩放 25%
  • @Irakli:试试更新的代码,看看是否可行
  • 应该设置为90%,而不是0.25%,这次是什么错误?
猜你喜欢
  • 1970-01-01
  • 2018-01-19
  • 2014-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-02
  • 2017-08-16
  • 1970-01-01
相关资源
最近更新 更多