2017-03-24 59 views
0

我試着用@class,但它會拋出異常說這麼大的字符串不能被採取。如何點擊下面的HTML代碼中使用硒+ Java的按鈕

沒有得到哪個選擇器需要使用該按鈕點擊爲id,name或按鈕元素不存在。

HTML代碼

<div> 
    <a class="hint--top-left download-button header-button" data-hint="Download" data-bind="attr : { href: $data.downloadUrl, download: $data.fileName }, css: { disabled : $data.errorContent() }" download="000075_wem_log_11032017.csv" href="blob:https://barrot.com/1dcbc880-89d8-4798-9682-87dace0ed1f8"></a> 
</div> 

如果遇到這樣情況的任何一個來了,請在此

回答

0

您可以使用以下的表達式使用搜索By.xpath

a[data-hint="Download"] 

請注意,您不能使用含化合物名稱("hint--top-left download-button header-button")的By.className,但可以選擇其中之一(例如, "download-button"

+0

謝謝安德森。它工作得很好 – user3349459

0

扔光。如果@class不工作,如果@數據提示=「下載」不唯一然後找到任何共同的屬性。

對於例如:如果@數據提示=「下載」在許多元素則是共同的:

List<WebElement> element =driver.findElements(by.xpath(.//a[@Data-Hint='Download'])); 
element.get(index).click(); 

這應該做的伎倆,而不是指數的0-n,其中「n」是取代

By.cssSelector
//a[@data-hint="Download"] 

相同:List的大小