@stasykk

Selenium. Работа со вкладками на Python?

Люди добрые, не судите жестоко, только учусь, пришло отчаянье и я очень надеюсь на вашу помощь, не могу научиться переключаться между окнами на 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'), но он не хочет со мной работать...
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы