以下调整 selenium chrome 窗口大小的代码不起作用:
driver.set_window_size(1920, 1080)
time.sleep(5)
size = driver.get_window_size()
print("Window size: width = {}px, height = {}px.".format(size["width"], size["height"]))
输出是:
Window size: width = 1044px, height = 788px
我也尝试过使用选项来设置驱动程序创建时的窗口大小(还有很多其他的东西,如下面的评论),但也无法让它工作:
options.add_argument("--window-size=1920,1080")
我正在使用 selenium 3.14.0,chrome 驱动程序版本 72.0.3626.109 并在后台/ headless 模式下运行:我确实需要在后台运行我的代码,这意味着它会在后台自动启动。我认为 headless 和 background 之间存在细微差别,前者在启动时与特定用户关联,后者也是 headless 但可能与特定用户无关并且可能具有其他特质 - 我开始认为这可能成为我的问题的一部分。
我想让 chrome 驱动程序工作,因为 firefox 不在后台运行(我需要),ie 很痛苦。
我想解决这个问题,因为当窗口太小时我看不到需要单击的元素。
最佳答案
有点不清楚你被困的原因和确切位置。可能是 height = {}px.
中的额外 .
造成了困惑。也许与 -headless
参数一起,我能够设置/检索 Chrome 浏览器 Window Size 如下:
代码块:
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.add_argument("--headless") options.add_argument("window-size=1400,600") driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe', service_args=["--log-path=./Logs/DubiousDan.log"]) driver.get("http://google.com/") print ("Headless Chrome Initialized") print(driver.get_window_size()) driver.set_window_size(1920, 1080) size = driver.get_window_size() print("Window size: width = {}px, height = {}px".format(size["width"], size["height"])) driver.quit()
控制台输出:
Headless Chrome Initialized {'width': 1400, 'height': 600} Window size: width = 1920px, height = 1080px
;博士
您在以下位置找到了一些关于窗口大小的相关讨论:
关于python - 如何在 Selenium Chrome Python 中设置窗口大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55012755/