【发布时间】:2020-11-16 06:53:24
【问题描述】:
您能帮我解决一个问题吗?我在 youtube 上遇到了 Selenium 和弹出窗口的问题。
当第一个窗口被跳转时 - Selenium 关闭这个窗口,但是如果我想关闭第二个窗口/框架,selenium 不起作用。能否请你帮忙?
下面附上部分代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from time import sleep
class YoutubeSearcher:
def __init__(self, search):
self.search = search
def open_url(self) -> None:
driver = webdriver.Chrome()
driver.get('https://www.youtube.com/')
try:
WebDriverWait(driver, 5).until(
EC.element_to_be_clickable((By.XPATH, '/html/body/ytd-app/ytd-popup-container/paper-dialog/yt-upsell-dialog-renderer/div/div[3]/div[1]/yt-button-renderer/a/paper-button/yt-formatted-string'))).click()
except:
print("no alert to accept")
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH, '//*[@id="yDmH0d"]/c-wiz/div[2]/div/div/div/div/div[2]/form'))).click()
search = driver.find_element_by_id("search")
search.clear()
search.send_keys(self.search)
submit_button = driver.find_element_by_id("search-icon-legacy")
submit_button.click()
【问题讨论】:
-
您尝试与哪个第二个窗口/框架进行交互?
标签: python selenium selenium-webdriver