3 回答

TA貢獻1895條經(jīng)驗 獲得超3個贊
第一個帶contains()
函數(shù)的謂詞有問題。
contains()
接受兩個參數(shù)。第一個參數(shù)是要測試的值,第二個是要搜索的值。它應該是[contains(@href,'/file/download/id/" + downloadID + "')]
或者你可以用
[@href='/file/download/id/" + downloadID + "']
XPath 的最后一部分有幾個問題: /@*[title()='Download file']
/@*
您不是將另一個謂詞過濾器應用于匹配的元素,而是選擇所有匹配的元素屬性,然后[title()='Download file']
是一個謂詞過濾器,它試圖只選擇title()
等于“下載文件”的屬性但是,沒有
title()
節(jié)點選擇器或函數(shù)來過濾這些屬性
您可以使用多個謂詞并將 XPath 的最后一部分調(diào)整為:
//*[@href='/file/download/id/" + downloadID + "'][@title='Download file']
您可以組合這些謂詞過濾器并使用and
和or
運算符測試同一謂詞中的多個表達式。
//*[@href='/file/download/id/" + downloadID + "' and @title='Download file']

TA貢獻2065條經(jīng)驗 獲得超14個贊
您提供的元素沒有可用的 ID,
您可以通過以下方式定位元素:
//a[@title='Download file' and @href='/file/download/id/1169']
標簽的目標。

TA貢獻1785條經(jīng)驗 獲得超8個贊
你能用 cssSelector 或 xpath 來檢查以下選項是否適合你,試試看;
WebElement ele1 = driver.findElement(By.cssSelector("a[id='Id goes here'][title='Download file']"));
WebElement ele1 = driver.findElement(By.xpath("//a[@id='Id goes here'][@title='Download file']"));
添加回答
舉報