Почему появляется ошибка «TypeError: set_window_position () без 1 необходимого позиционного аргумента: 'y'», несмотря на наличие аргумента y? - PullRequest
1 голос
/ 09 мая 2020

Кто-нибудь знает, почему появляется ошибка, несмотря на наличие аргумента? :) Это мой код:

from selenium import webdriver
import time
import datetime
from selenium.webdriver.chrome.webdriver import WebDriver

opt = webdriver.ChromeOptions()
# opt.add_argument("--start-maximized")

listOfLinks = open("test.txt", "r")
#  open test page in the browser
browser: WebDriver = webdriver.Chrome('C:\\Users\\Valeriia\\PycharmProjects\\selen\\chromedriver.exe', options=opt)
page = browser.get('https://stackoverflow.com/questions/ask')
time.sleep(5)
browser.set_window_position({'x': -4, 'y': -1})
browser.set_window_size({'width': 1448, 'height': 1085})

Ответы [ 2 ]

1 голос
/ 09 мая 2020

Вы предоставляете аргументы для browser.set_window_position в словаре, но он ожидает результат в другом формате. Оба из них должны работать:

browser.set_window_position(x=-4, y=-1)

или

browser.set_window_position(-4, -1)

В качестве альтернативы, если вы храните словарь в другом месте и передаете его, вы можете использовать синтаксис с двойной звездочкой для его распаковки. как набор аргументов ключевого слова:

coordinates = {'x':-4, 'y':-1}
browser.set_window_position(**coordinates)
1 голос
/ 09 мая 2020

Вы указываете dict как единственный параметр, однако для функции требуется 2 (x и y).

Попробуйте вместо этого:

browser.set_window_position(**{'x': -4, 'y': -1})

или:

browser.set_window_position(x=-4, y=-1)

или:

browser.set_window_position(-4, -1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...