Петля положения WebDriver - PullRequest
0 голосов
/ 26 мая 2019

Я многопоточный с Selenium, поэтому я запускаю как 7-8 окон одновременно, я хочу, чтобы они все выровнялись одно рядом с другим, как мне это сделать.

Я попробовал это. B

x = 20
y = 25
while (x, y < 60):
    driver.set_window_position(x, y)
    x = x + 10
    x = x - 5
    y = y + 10
    y = y - 15

Но он просто исчезает с экрана, как игра pacman ..

1 Ответ

1 голос
/ 26 мая 2019

Вот простой запрос для достижения. Это откроет 4x2 и поместит каждый браузер в соответствующую позицию:

from selenium.webdriver import Chrome

# pip3 install screeninfo - might work to get the info but did not work on my macOS
screen_height = 1080
screen_width = 1920

number_of_session = 8
number_per_row = 4
number_per_column = number_of_session / number_per_row

driver_height = screen_height / number_per_column
driver_width = screen_width / number_per_row


drivers = []

row = 0
column = 0
for idx in range(number_of_session):
    driver = Chrome()
    drivers.append(driver)
    driver.set_window_rect(column * driver_width, row * driver_height, width=driver_width, height=driver_height)
    if idx + 1 == number_per_row:
        row += 1
        column = 0
    else:
        column += 1

for driver in drivers:
    driver.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...