Java 如何使用以Selenium中的文本开头的类名查找元素

Java 如何使用以Selenium中的文本开头的类名查找元素,java,selenium,selenium-webdriver,xpath,css-selectors,Java,Selenium,Selenium Webdriver,Xpath,Css Selectors,以下是元素说明: <div class="css-control-textinput-122aa"><input type="text" aria-required="true" disabled="" required=""</div> className需要完整的类。对于部分类名,可以使用css选择器 @FindBy (css = "[class^='css-fauxcontrol-textinput-']") List<WebElement> d

以下是元素说明:

<div class="css-control-textinput-122aa"><input type="text" aria-required="true" disabled="" required=""</div>

className
需要完整的类。对于部分类名,可以使用
css选择器

@FindBy (css = "[class^='css-fauxcontrol-textinput-']")
List<WebElement> dataSourceName;

您共享的HTML可能存在问题。
标记应该由
关闭,实际的HTML必须是:

<div class="css-control-textinput-122aa"><input type="text" aria-required="true" disabled="" required=""></div>
  • xpath

    @FindBy (xpath  = "//div[starts-with(@class,'css-control-textinput-')]/input[@type='text']")
    List<WebElement> dataSourceName;
    
    @FindBy(xpath=“//div[以(@class,'css-control-textinput-'))开头]/input[@type='text']”)
    列出数据源名称;
    
  • 注意:如果您的用例是查找元素,则不需要
    列表
    ,而需要
    WebElement

  • <div class="css-control-textinput-122aa"><input type="text" aria-required="true" disabled="" required=""></div>
    
    @FindBy (css  = "div[class^='css-control-textinput-']>input[type='text']")
    List<WebElement> dataSourceName;
    
    @FindBy (xpath  = "//div[starts-with(@class,'css-control-textinput-')]/input[@type='text']")
    List<WebElement> dataSourceName;