下面是我嘗試使用chromdriver硒爪哇 - 不能通過XPath來識別的文本框中,CSS
回答
您可以使用以下XPath來識別文本框的HTML片段:
//input[@placeholder="Scan Serial No"]
RY使用多個屬性
//input[@placeholder="Scan Serial No"][contains(@class,'FC2 ELX_UserPrompt')]
已經嘗試過,但沒有奏效。它說無法識別元素WebElement validate = driver.findElement(By.xpath(「// input [@ placeholder ='Scan Serial No']」)); – Ankit
爲了得到有選擇是我使用的一些技巧。
首先我使用Chrome Developer Tools的內置工具。用ctr + shift + i打開它們。然後找到你想要的元素,按Ctrl + Shift + C然後點擊元素。這突出顯示了元素選項卡中所需的元素。右鍵單擊突出顯示的元素,然後選擇複製>複製選擇器。這會給你一個獨特的CSS選擇器的項目。這適用於除動態元素之外的所有內容,這些動態元素會更改頁面上的ID或位置。
對於動態元素,我使用高級css選擇器。除了任何css屬性以外,您還可以利用html標籤來定位元素。下面是關於如何使用這些https://www.smashingmagazine.com/2009/08/taming-advanced-css-selectors/#comments 對於你特定的元素,你可以做類似input[placeholder='Scan Serial No']
您可以使用下面的XPath像樣的寫了起來:類中的XPath
名
//input[@class='FC2 ELX_UserPrompt binding_Screen_cc607e87_a82b_4cac_8c38_939be2ba00ff_SerialNo??']
類名稱和佔位符
//input[@class='FC2 ELX_UserPrompt binding_Screen_cc607e87_a82b_4cac_8c38_939be2ba00ff_SerialNo??'][@placeholder='Scan Serial No']
可能你沒有注意到,但下面的類是動態的,沒有固定的。 binding_Screen_cc607e87_a82b_4cac_8c38_939be2ba00ff_SerialNo – Ankit
- 1. 爪哇不能通過JSON.stringfy
- 2. 硒,爪哇,waitForCondition
- 3. 爪哇識別令牌
- 4. 硒不能識別href超文本
- 5. 爪哇硒火狐驅動器 - 文本框的onChange問題
- 6. 硒:無法湊文本通過XPath的
- 7. driver.get不是在硒的webdriver,爪哇
- 8. 爪哇,頁通過陣列
- 9. 爪哇 - 通過二叉樹
- 10. 無法識別硒中的Xpath元素
- 11. 硒RC爪哇 - isElementPresent不工作
- 12. 爪哇 - 讀文本文件
- 13. 硒不能識別憑據
- 14. 硒不能識別幀
- 15. 爪哇 - 不能在Eclipse
- 16. 識別硒中的ckeditor文本
- 17. 硒TestNG的爪哇 - 參數太多
- 18. 標識符預期,爪哇
- 19. 爪哇 - LinkedList的 - 不同類別的它
- 20. 爪哇避免的instanceof通過設計
- 21. 硒不能識別框架中的元素
- 22. 無法識別硒中文本框的工具提示信息
- 23. 爪哇 - 的ActionListener:來自親
- 24. 逆陣列(爪哇)// Invertir陣列(爪哇)
- 25. 爪哇 - 我不能打開Microsoft Access文件通過可執行的JAR
- 26. 爪哇 - 這是不可能從JComboBox中
- 27. 爪哇 - 並行
- 28. 爪哇通過引用傳遞
- 29. 爪哇 - 通過二維數組
- 30. 爪哇8流通過數值接近
<輸入類= 「FC2 ELX_UserPrompt binding_Screen_cc607e87_a82b_4cac_8c38_939be2ba00ff_SerialNo」 自動聚焦= 「」 佔位符= 「掃描序列號」 平變化= 「OperationOutputHelper.UpdateOutput(此,事件, 'Screen_cc607e87_a82b_4cac_8c38_939be2ba00ff', '的SerialNo');」的onkeyup = 「OperationOutputHelper.UpdateOutput(此,事件, 'Screen_cc607e87_a82b_4cac_8c38_939be2ba00ff', '的SerialNo');」 autosubmit =「true」runat =「server」style =「cursor:auto;」> – Ankit
歡迎來到Stack Overflow!請[編輯]您的帖子以包含您對問題的任何其他信息。避免在評論中添加這些內容,因爲它們難以閱讀並且可以更容易地刪除。您帖子的修改按鈕位於帖子標籤下方。另外請務必閱讀[問]並瞭解是什麼使[mcve]。 –