首页 文章

使用Selenium WebDriver引用未命名的元素

提问于
浏览
0

我是selenium的新手,我在使用WebDriver(用Java)在网页上找到特定元素时遇到了麻烦 . 我试图引用的特定元素是链接,但没有任何ID /其他XML属性与它们相关联 . 我无权访问HTML源代码,因此无法向元素添加任何标识符 . 我不确定使用FindBy函数可以做什么和不可以做什么,所以有人可以看看HTML并告诉我如何找到指定的元素(最终目标是使用WebElement.Click ()方法就可以了) .

<div class="col-md-12">
    <h3>My Registered Cards</h3>
    <div id="cards" class="row list-group">
        <div>

THIS LINE

<a href="/website/carddetails?cardnumber=1">

THIS LINE

<div class="tile col-md-3 img-rounded">
                    <div class="tile-inner">
                        <img class="group list-group-image col-md-12 hidden-xs hidden-sm" src="http://placehold.it/200x100/000/fff" alt="">
                        <div>
                            <div class="row">
                                <h4 class="group inner list-group-tile-heading col-xs-12 col-md-12">Card Name</h4>
                            </div>
                        </div>
                    </div>
                </div>
            </a>

        </div>
        <div>

THIS LINE

<a href="/website/carddetails?cardnumber=2">

THIS LINE

<div class="tile col-md-3 img-rounded">
                    <div class="tile-inner">
                        <img class="group list-group-image col-md-12 hidden-xs hidden-sm" src="http://placehold.it/200x100/000/fff" alt="">
                        <div>
                            <div class="row">
                                <h4 class="group inner list-group-tile-heading col-xs-12 col-md-12">Card Name</h4>
                            </div>
                        </div>
                    </div>
                </div>
            </a>

        </div>
    </div>
</div>

我已经尝试过几种不同的方式,但WebDriver在两种情况下都找不到正确的元素 .

@FindBy(linkText = "Card Name")
    public List<WebElement> cards;

@FindBy(xpath = "//div[@id='cards']/div/@a")
    public List<WebElement> cards;

编辑:感谢SiKing不完全是我正在寻找的答案,但你确实指出了我正确的方向 .

我实际上最终做的是

@FindBy(xpath = "//div[@id='cards']/div/a")
    public List<WebElement> cards;

如果不清楚,我想要做的是获取网站上所有卡片(特别是卡片链接)的列表,然后我可以按顺序点击

1 回答

相关问题