python+selenium怎么定位页面弹窗的元素

 我来答
从空去听8
2017-11-15 · TA获得超过7440个赞
知道大有可为答主
回答量:6907
采纳率:93%
帮助的人:5589万
展开全部

1、问题发生描述:

从一个页面进行点击等操作,页面跳转到第二个页面,对第二个页面中的元素,采取任何措施定位都报错,问题报错点如下:

2、出现问题的原因:

窗口句柄还停留在上一个页面,对于当前新弹出的页面还没有定位,因此新页面的任何元素都定位不到

3、解决方案:

在新页面操作元素之前,需添加句柄操作,方式如下:

1、使用driver.current_window_handle #获取当前窗口句柄,添加此方法,仍报相同的错误,因此不能采用这种方式进行解决问题

2、使用driver.switch_to_window(driver.window_handles[1]),或者 driver.switch_to_window(self.driver.window_handles[-1]) ,两种方式中任选一种即可找到对应的元素

添加后的代码如下:

每天记录进步一点点.........

雁子sunshine30
2019-03-25 · TA获得超过289个赞
知道答主
回答量:170
采纳率:0%
帮助的人:6.4万
展开全部
定位页面元素
//通过Id定位元素
WebElement element = driver.findElement(By.id(“id名"));
//通过name定位元素
WebElement element = driver.findElement(By.name(“name名"));
//通过xpath定位元素
WebElement element = driver.findElement(By.xpath(“xpath路径"));
//通过标签的值定位元素
WebElement cheese = driver.findElement(By.linkText(“标签的值"));
//通过class的值定位元素
List list=driver.findElements(By.className(“class值"));
//通过标签名定位元素
List list = driver.findElements(By.tagName(“标签名"));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式