我是新來的selenium,並且在使用WebDriver(Java)在網頁上查找特定元素時遇到問題。我試圖引用的特定元素是鏈接,但沒有與它們關聯的任何ID /其他XML屬性。我無法訪問HTML源代碼,因此我無法將任何標識符添加到元素中。我不完全確定使用FindBy函數可以做什麼和不可以做什麼,所以有人可以看看HTML並告訴我如何找到指定的元素(最終目標是使用WebElement.Click ()方法)。使用Selenium WebDriver引用未命名的元素
<div class="col-md-12">
<h3>My Registered Cards</h3>
<div id="cards" class="row list-group">
<div>
此行
<a href="/website/carddetails?cardnumber=1">
此行
<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>
此行
<a href="/website/carddetails?cardnumber=2">
此行
<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;
如果現在還不清楚,我試圖做的是讓網站上的所有卡(具體而言,卡鏈接)的列表,我可以再點擊序列
不 「的鏈接文字中找到」 只錨標記,而不是H4標籤工作? – djangofan
@djangofan是的,你是對的。 – SiKing