Selenium在WebElement内获取WebElement [英] Selenium Get WebElement inside a WebElement

查看:272
本文介绍了Selenium在WebElement内获取WebElement的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在学习Selenium,我有一个问题,假设我们有以下内容:

I'm learning Selenium and I have a question that, supposed we have something like below:

<div class='wrapper'>
  <div class='insider1'>
  <div class='insider2'>
<div class='wrapper'>
  <div class='insider1'>
  <div class='insider2'>

我可以使用带有 .wrapper 的Css选择器来选择包装器元素的列表.因此,假设我有这些元素,如何使用已经拥有的包装器WebElement选择 insider1 insider2 ?我了解有很多方法可以选择Insider1和Insider2,但是我的问题是,是否可以选择WebElement的内部元素?

I can select a list of wrapper element using Css selector with .wrapper . So, suppose I have those elements, how do I select insider1 or insider2 using the wrapper WebElement that I've already had? I understand that there are many ways to select insider1 and insider2 but my question here is, Is it possible or not to select an inside element of a WebElement?

谢谢

推荐答案

您尚未确定使用哪种语言,因此我将用Java示例进行回答. 您使包装器等于WebElement,如下所示(由于使用类而不是唯一的东西,因此将获得第一个back实例),但为了论证,可以说该类中只有一个元素),应该关闭您的div:

You haven't identified which language so I'm going to answer with examples in Java. You make the wrapper equal to a WebElement as follows (which you will get the first instance of back since you're using class instead of something unique but for the sake of argument lets say there's only one element with that class) and you should probably be closing your div's:

WebElement wrap = driver.findElement(By.className("wrapper"));

然后您可以交换换行"来代替驱动程序作为指针,并执行以下操作以获取dom树元素

Then you can swap 'wrap' in, in place of your driver as a pointer and do the following to get at the dom tree elements

WebElement inside1 = wrap.findElement(By.xpath("div[1]"));
WebElement inside2 = wrap.findElement(By.xpath("div[2]"));

这篇关于Selenium在WebElement内获取WebElement的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆