等到页面加载 Selenium Python
Posted
技术标签:
【中文标题】等到页面加载 Selenium Python【英文标题】:Wait until the page loaded Selenium Python 【发布时间】:2021-01-18 05:03:18 【问题描述】:我正在使用 Selenium Python 打开一个 chrome 标签。我想等到蓝色圆圈停止旋转。请检查屏幕截图。 用例是在登录按钮上计时,然后弹出一个窗口。 如果页面仍在加载,即蓝色圆圈仍在旋转,则登录按钮不起作用。我想等到那个蓝色圆圈消失。
【问题讨论】:
【参考方案1】:这应该对你有帮助:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
login_btn = WebDriverWait(driver, 500).until(EC.presence_of_element_located((By.XPATH, 'xpath of login button'))) #Waits until the login button is visible.
login_btn.click()
如果您不想通过xpath
找到按钮,则可以将By.XPATH
更改为By.ID
或By.CLASS_NAME
。
编辑:
完整代码如下:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--start-maximized")
driver = webdriver.Chrome('chromedriver.exe',options = chrome_options)
driver.get('https://www.nike.com/es/launch/t/womens-air-jordan-6-tech-chrome')
login_btn = WebDriverWait(driver, 500).until(EC.presence_of_element_located((By.XPATH, '//*[@id="root"]/div/div/div[1]/div/header/div[1]/section/div/ul/li[1]/button'))) #Waits until the login button is visible.
login_btn.click()
输出截图:
【讨论】:
我之前尝试过,但没有成功。我只想等待,除非所有加载的过程都完成。 我已经在更新的ans中提供了完整的代码。只需将代码复制粘贴到您的编辑器中并检查它是否有效。 感谢 Sushil,正如我所提到的。我早些时候尝试过它并且它有效,但有时它不是打开登录弹出窗口而是显示空白弹出窗口,我不是它的原因,但仍然非常感谢您的帮助:) 好的...不客气!一个来自我身边的卑微请求。你能接受我的回答作为最佳答案吗? 是的,Sushil以上是关于等到页面加载 Selenium Python的主要内容,如果未能解决你的问题,请参考以下文章
Selenium WebElement.Click() 是不是等到加载下一页?
Robotframework:Selenium2Lib:等到(...)关键字