单击登录按钮时,会弹出一个窗口,显示使用 google 登录。我需要使用弹出窗口的谷歌按钮访问登录。我已经展示了一些使用driver.switch_to_window方法和iframe方法处理弹出窗口的先前示例。但无法访问弹出窗口中的元素。
下面的代码显示noSuchElementException
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait as wait
from time import sleep
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://shatkora.co/grocery")
main_window=None
while not main_window:
main_window=driver.current_window_handle
join_btn=driver.find_element_by_xpath("/html/body/div[1]/div[1]/div/div[1]/div/header/div/button")
join_btn.click()
login_window=None;
while not login_window:
for handle in driver.window_handles:
if(handle!=main_window):
login_window=handle
break
# driver.switch_to(login_window)
driver.switch_to.window(login_window)
login_with_google_button=driver.find_element_by_xpath("/html/body/div[1]/div[1]/div/div[6]/div/div/div/div[1]/button")
login_with_google_button.click()