今天给大家分享一个selenium中经常会有人遇到的坑: selenium.common.exceptions.StaleElementReferenceException: Message: Element not found in the cache - perhaps the page has changed since it was looked up 群里经常会有人问,"我循环去点击一列链接,但是只能点到第一个,第二个就失败了,为什么?".原因就在这里:你点击第二个时已经是新…
循环点击一列链接,但只能点到第一个,第二个失败,这是为什么,因为第二个已经是新页面,当然找不到之前页面的元素,虽然元素没变,甚至是后退回来,页面都没有变,为什么是新页面,页面长的一样不代表是同一张页面,就像两个人长得一样不一定是同一个人,他们身份证号不同,页面,页面上的元素都是有自己的身份证号的 #coding:utf8 from selenium import webdriver driver=webdriver.Chome() driver.get(url) print(driver.fin…
有时候循环点击一列链接,只能点到第一个,第二个就失败了 原因是第二个已经是新页面,当然找不到之前页面的元素.就算是后退回来的,页面也是不一样的 页面长的一样不一定是同一张页面,就像两个人长的一样不一定是同一个人,他们的身份证号不同,页面,甚至页面上的元素都是有自己的身份证号(id)的 from selenium import webdriver driver = webdriver.Chrome() driver.get('http://www.baidu.com') print(driver.…
对于一个有登录限制(权限限制)的网站,用户输入身份验证信息以后,验证成功后跳转到登录前的页面是一项很人性化的功能.那么获取登录前的页面地址就很关键,今天在做一个yii2项目的登录调试时发现了一些很有意思的问题,记录下来. 1,场景描述 网站SiteA上的页面Page2需要登录后才能查看,Page2的链接放在页面Page1的一个按钮Button上,Page1在登录前后都是可以访问的,SiteA只提供了微信扫码登录的入口. 2,功能需求 假定访客User已经在SiteA上注册过,但当前未登录.Use…
前言 selenium定位一组元素,批量操作循环点击的时候会报错:Element not found in the cache - perhaps the page has changed since it was looked up 实现目标:批量点击标题,获取每个页面的url地址 代码如下: # coding:utf-8 from selenium import webdriver driver = webdriver.Firefox() driver.get("https://www.cn…
Python3 Selenium WebDriver网页的前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作 通过selenium webdriver操作网页前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作: from selenium import webdriver #打开浏览器 driver = webdriver.Ie(executable_path = "e:\\IED…
通过selenium webdriver操作网页前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作 from selenium import webdriver driver = webdriver.Ie(executable_path = "e:\\IEDriverServer") #打开浏览器 driver.get("http://wenku.baidu.com") #输入网址 driver.back()…
selenium常用命令之操作页面元素及获取元素内容的事件整理 例子:  /**id <input type="text" id="phone" name="phone" class="LoginText" placeholder="手机号" > * <button class="LoginBtn" id="btnLogin" value="…
Python3.x:selenium获取iframe内嵌页面的源码 前言 在一些网页中经常会看到ifrmae/frame标签,iframe是嵌入式框架一般用来在已有的页面中嵌入另一个页面,当一个元素在iframe里时我们应该先切换到iframe里面. 语法 1.进入iframe iframe = self.driver.find_element_by_xpath("//iframe[contains(@src,'https://************/auth?e_p=1&respon…
# coding=utf-8 from selenium import webdriver driver = webdriver.Firefox() driver.maximize_window () driver.get("https://www.baidu.com") try: driver.find_element_by_id("kwf") print("id is find") except Exception as e: print(&…