Я использую профиля хром через undetected_chromedriver, однако это не суть важно.
До момента пока мне нужно было ввести пароль в MetaMask всё было чудесно, сначала думал
проблема в том что открывается новое окно и я не правильно выбираю его, но при помоши driver.get_screenshot_as_file()
выяснил что окно открыто то что нужно, затем перепробовал Find element By все возможные способы, ничего не дало результатов, подскажите пожалуйста что я делаю не так?
Сам код:
import undetected_chromedriver as uc
from selenium.webdriver.chrome.options import Options
import time
from selenium.webdriver.common.by import By
accnumber = 18
for i in range(2):
options = Options()
options.add_argument(f'--profile-directory=Profile {accnumber}')
options.add_argument('--user-data-dir=C:\\Users\\ilyar\\AppData\\Local\\Google\\Chrome\\User Data\\')
driver = uc.Chrome(executable_path="C:\\Users\\ilyar\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe", options=options)
driver.get('https://www.sushi.com/swap')
window_before = driver.window_handles[0]
print(window_before)
time.sleep(5)
try:
driver.find_element(By.CSS_SELECTOR, '#headlessui-popover-button-\:rs\: > span.hidden.md\:block').click()
time.sleep(3)
except:
time.sleep(1)
print('error click connect wallet sushiswap')
try: driver.find_element(By.CSS_SELECTOR, '#headlessui-popover-panel-\:r12\: > div > div > button:nth-child(1)').click()
except:
time.sleep(1)
print('error click connect MM sushiswap')
#КОД КОТОРЫЙ НИЖЕ ВЫДАЁТ ОШИБКУ!
try:
time.sleep(5)
window_after = driver.window_handles[1]
print(window_after)
driver.switch_to.window(window_after)
driver.get_screenshot_as_file()
time.sleep(15)
driver.find_element(By.XPATH, '//*[@id="password"]').click()
driver.find_element(By.XPATH, '//*[@id="password"]').send_keys('MyPass')
except:
time.sleep(1)
print('error mm pass')
time.sleep(100)
accnumber = accnumber + 1