我需要點擊這個元素並上傳一個文檔,但這裏的按鈕ID是動態生成的。如何找到一個具有動態生成ID的元素
元素:
<button class="md-raised md-primary e-button-small md-button md-ink-ripple" type="button" ng-transclude="" aria-label="Approve" data-ng-file-select="onFileSelect($files, rule)" data-accept="*/*" multiple="multiple" onclick="document.getElementById("--ng-file-upload-0.6873237604099194").click()" id="e--ng-file-upload-0.6873237604099194" style="overflow: hidden;">
<span class="ng-scope">Upload File</span>
<div class="md-ripple-container" style=""></div>
</button>
試圖找到並單擊在下面的方法:
1)driver.findElement(By.cssSelector(「按鈕[ID^=」電子 - NG-文件級上傳']「))點擊()。 。
2)driver.findElement(By.xpath( 「//按鈕[含有(文本(), '批准')]」))點擊();
在一些其他方法試圖藏漢
,每次收到此錯誤:
org.openqa.selenium.InvalidSelectorException:無效的選擇:一個無效或非法選擇指定 (會話信息:鉻= 60.0.3112.113) (駕駛員信息:chromedriver = 2.30.477700(0057494ad8732195794a7b32078424f92a5fce41),平臺= Windows NT的10.0.14393 x86_64的)(警告:服務器未提供任何信息棧跟蹤) 命令持續時間或超時:104毫秒
感謝您的幫助提前
在這裏你會得到你的答案https://stackoverflow.com/questions/8918164/get-the-id-name-of-an-element -from-dynamically-generated-html-jquery – zsbappa
嗨zsbappa,我需要實現它使用硒java,例如在jquery – user3787164