Selenium定位问题,用CSS,ID,name或xpath都行,怎么定位这个button.

 我来答
xinke453
2014-04-29 · 超过12用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:30.7万
展开全部
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

import org.openqa.selenium.By;

public class ByClassName 
{
    public static void main(String[] args) 
    {
         WebDriver driver = new FirefoxDriver();
         driver.get(
);
         WebElement element = driver.findElement(By.className("cpBtn-zj"));
         System.out.println(element.getTagName());

    }
}

参考这一段java代码,关键是你这个控件需要使用className来定位。

追问
谢谢,可俺试了下,还是定位不到,不知道是不是套的太多,还是怎么的。
追答
使用xpath定位试试
//form[@id='mainForm']//div[@class='cpBtn']//input[@class='cpBtn-z']
叶火溪
2021-09-18
知道答主
回答量:21
采纳率:0%
帮助的人:1.2万
展开全部

java-selenium

  1. 这里有iframe,需要切到iframe中去:

    iframe相当于嵌入网页,就好比你在大厅,你要去拿卧室的东西,你得打开卧室的门进去拿,在大厅是拿不到卧室里面的东西的,反之亦然,大厅的东西也需要先走出卧室才能拿得到。

    driver.swithTo().frame("ife_linkwin183402");

  2. 然后再用正常的定位语句去获取元素:

    driver.findElement(By.xpath("//input[@class="cpBtn-zj"])").click();  

    input是标签,class是属性,等于号后面是值。按照这个模式,你也可以应用到其它的元素定位中去,甚至是封装一个方法,以此来简化你的代码长度,使之更直观、简便。

  3. 再就是,切回大厅:

    driver.swithTo().defaultcontent();

python-selenium

  1. 切换iframe:deiver.swith_to_iframe("ife_linkwin183402")

  2. 定位:driver.find_Element_by_xpath(//input(@class="cpBtn-zj")).click()

  3. 切出去:driver.switch_to.default_iframe() 或者切到上一级:driver.switch_to.parent_ifame()

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式