Selenium java - 无法通过xpath,css识别文本框

时间:2017-09-07 14:35:54

标签: css google-chrome selenium xpath

下面是我尝试使用chromdriver

识别的文本框的HTML片段

3 个答案:

答案 0 :(得分:1)

您可以使用以下Xpath:

//input[@placeholder="Scan Serial No"]

使用多个属性

//input[@placeholder="Scan Serial No"][contains(@class,'FC2 ELX_UserPrompt')]

答案 1 :(得分:0)

为了获得选择器,我使用了一些技术。

首先,我使用Chrome开发者工具的内置工具。用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']

之类的操作

答案 2 :(得分:0)

您可以使用以下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']