我想切換到另一個視窗來關閉它,但我無法做到這一點。我已經添加了明確的等待,以便出現關閉按鈕,然后我可以關閉它
。
我想這一定是iframe的問題,但它不是,需要幫助。
下面是螢屏截圖和代碼
我實作的主要代碼是在最后一行
在此輸入圖片描述
下面是代碼
。from selenium.webdriver.chrome.webdriver import WebDriver
from utilities.BaseClass import BaseClass
import pytest
from selenium import webdriver
from selenium.webdriver import ActionChains
import time
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.common.by import By
driver = webdriver.Chrome(executable_path="C:chromedriver")
driver.get("https://www.seleniumeasy.com/test/")
driver.maximize_window()
time.sleep(5)
driver.find_element_by_xpath("/a[text()='No, thanks!']"/span>).click()
driver.find_element_by_link_text("Progress Bars & Sliders").點擊
driver.execute_script("window.rollTo(300, 500)")
driver.find_element_by_link_text("Progress Bars & Sliders") .click()
driver.find_element_by_link_text("JQuery Download Progress bars").click()
driver.find_element_by_xpath("//button[@id='downloadButton']").click()
wait = WebDriverWait(driver,20)
wait.until(ec.element_to_be_clickable((By.XPATH,"//button[@type='Close']"))
driver.find_element_by_xpath("//button[@type='Close']").click()
uj5u.com熱心網友回復:
你在這里使用了一個錯誤的定位器//button[@type='Close']:
wait.until(ec.element_to_be_clickable((By.XPATH,"//button[@type='Close']"/span>))
driver.find_element_by_xpath("//button[@type='Close']").click()
它應該是/button[text()='Close'].
因此,請嘗試這樣來代替上面的做法:
wait.until(ec.element_to_be_clickable((By.XPATH,"//button[text()='Close']"/span>)).click()
整個代碼將是:
from selenium.webdriver.chrome.webdriver import WebDriver
from utilities.BaseClass import BaseClass
import pytest
from selenium import webdriver
from selenium.webdriver import ActionChains
import time
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.common.by import By
driver = webdriver.Chrome(executable_path="C:chromedriver")
driver.get("https://www.seleniumeasy.com/test/")
driver.maximize_window()
time.sleep(5)
driver.find_element_by_xpath("/a[text()='No, thanks!']"/span>).click()
driver.find_element_by_link_text("Progress Bars & Sliders").點擊
driver.execute_script("window.rollTo(300, 500)")
driver.find_element_by_link_text("Progress Bars & Sliders") .click()
driver.find_element_by_link_text("JQuery Download Progress bars").click()
driver.find_element_by_xpath("//button[@id='downloadButton']").click()
wait = WebDriverWait(driver,20)
wait.until(ec.element_to_be_clickable((By.XPATH,"//button[text()='Close']") ).click()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/318351.html
標籤:
下一篇:資訊。'chromedriver'可執行檔案需要在PATH中。請看https://sites.google.com/a/chromium.org/chromedriver/home
