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

时间:2018-06-13 02:04:56

标签: ruby selenium

我正在编写一个简单的脚本来查找并在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">

2 个答案:

答案 0 :(得分:0)

您可以尝试使用以下x路径:

  1. 名字元素://div[text()='First Name']/following-sibling::div/div/input
  2. 姓氏元素://div[text()='Last Name']/following-sibling::div/div/input
  3. 在代码中,

    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"
    

答案 1 :(得分:0)

写下xpath,如下所示

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

对于LastName

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