使用SeleniumRuby查找两个似乎具有相同类的文本字段

使用SeleniumRuby查找两个似乎具有相同类的文本字段,ruby,selenium,Ruby,Selenium,我正在编写一个简单的脚本,用于在firefox中查找网页配置文件的名字和姓氏字段,并将文本输入其中。我已经导航到该页面并检查了该元素,但是我尝试了我能想到的所有方法来查找该元素,但似乎没有任何效果。如何使用ruby查找这些字段,是否有其他方法检查字段 这两个字段都有字段标签 名字检查结果 <div class="input__label">First Name</div> <div class="input_row"> <div class="split

我正在编写一个简单的脚本,用于在firefox中查找网页配置文件的名字和姓氏字段,并将文本输入其中。我已经导航到该页面并检查了该元素,但是我尝试了我能想到的所有方法来查找该元素,但似乎没有任何效果。如何使用ruby查找这些字段,是否有其他方法检查字段

这两个字段都有字段标签

名字检查结果

<div class="input__label">First Name</div>
<div class="input_row">
<div class="split_control">
<input class="input__input_wide" step="any" value="Bob">
名字
姓氏检查结果

<div class="input__label">Last Name</div>
<div class="input_row">
<div class="split_control">
<input class="input__input_wide" step="any" value="Smith">
姓氏

您可以尝试以下x路径:

  • 名字元素:
    //div[text()='First Name']/以下同级::div/div/input
  • 姓氏元素:
    //div[text()='Last Name']/以下同级::div/div/input
  • 在代码中

    first_name = driver.find_element(:xpath, "//div[text()='First Name']/following-sibling::div/div/input")
    first_name.send_keys "FName"
    
    last_name = driver.find_element(:xpath, "//div[text()='Last Name']/following-sibling::div/div/input")
    last_name.send_keys "LName"
    

    编写如下所示的xpath

    driver.find_element(xpath: "//div[normalize-space()='First Name']/following::input").send_keys "FirstName"
    

    driver.find_element(xpath: "//div[normalize-space()='Last Name']/following::input").send_keys "LastName"
    

    您正在测试的是您自己的网站吗?您想找到这两个输入字段吗?请提供此页面的完整HTML源代码,以便我们可以为您找到唯一的XPath。谢谢大家的建议。开发人员最终为每个字段添加了一个id,但是当我尝试它们时,仍然得到“element not found”。我想知道这是否是因为他们有一个空格(id=First Name&id=Last Name)。我需要回到开发人员那里,请他更改它。再次感谢是的,Id值中不应该有空格。还要检查元素是否位于框架内。如果它在一个框架内,您将得到NotFoundException。