Люди добрые, не судите жестоко, только учусь, пришло отчаянье и я очень надеюсь на вашу помощь, не могу научиться переключаться между окнами на selemiun (python).
Вот мой код, задача простая в двух страничках авторизоваться на социальных сетях:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.keys import Keys
class Bot:
def __init__(self):
self.driver = webdriver.Firefox()
self.authorization_vk()
self.authorization_fb()
def authorization_vk(self): #АВТОРИЗАЦИЯ VK:
self.driver.get('https://vk.com')
self.driver.find_element_by_xpath('//*[@id="index_email"]').send_keys("email")
self.driver.find_element_by_xpath('//*[@id="index_pass"]').send_keys("pass")
self.driver.find_element_by_xpath('//*[@id="index_login_button"]').click()
def authorization_fb(self): #АВТОРИЗАЦИЯ fb:
self.driver.execute_script("window.open('https://www.facebook.com','_blank');") # Интуитивно вставила так ссылку и она хотя бы заработала, возможно есть другие варианты...
self.driver.switch_to_window(driver.window_handles[1]) #Пробовала вычислять окна и вставлять номер id конкретного окна, что-то мелькало на экране, но результата не дало.
self.driver.find_element_by_xpath('//*[@id="email"]').send_keys("email")
self.driver.find_element_by_xpath('//*[@id="pass"]').send_keys("pass")
self.driver.find_element_by_xpath('//*[@id="u_0_2"]').click()
def main():
b = Bot()
if __name__ == '__main__':
main()
Почему то switch_to_window единственный рабочий вариант в моем случае, с удовольствием бы использовала element.send_keys(Keys.CONTROL + 't'), но он не хочет со мной работать...