如何使用ruby从selenium webdriver中提取网页中的可见文本

时间:2016-06-02 06:50:04

标签: ruby selenium webdriver

我正在使用红宝石与Selenium Webdriver合作。

我有一个下拉列表,在其中选择的每个值/文本之后,我想提取在没有html标签的网页界面上可见的值/文本,因为对于所选的值,在div>中选项标签我没有特定的属性,要弄清楚哪个是值,我可以使用ruby在selenium webdriver中做到吗?

编辑:HTML代码:

<select name="OwningAndUsingCarPanel.UseOfVehicle" id="OwningAndUsingCarPanel_UseOfVehicle" autocomplete="off">
  <option value="0" selected="selected">Please select</option>
  <option value="227">Social only</option> 
  <option value="228">Social including commuting to a single place of work</option> 
  <option value="229">Business use by you</option> 
</select>  

更新 - 更多详情:

我已尝试过这种方法,如果您选择以前的某个值,它会正常工作,但在我的情况下,我的下拉值中有一些错误,例如:一个接一个地有5个下拉菜单,以及他们每个人都取决于之前的下拉菜单,所以如果我开始填写这样的表格:

1)。首先选择值下拉(取文字)

2)。在第二个下拉菜单中选择一些值(取文字)

3)。在第三个下拉菜单中选择一些值(取文字)

4)。在第四个下拉菜单中选择一些值(取文字)

5)。在第五个下拉列表中选择一些值(取文本)(此下拉列表由前面的第四个下拉列值生成) - 现在在界面网页上更改了下拉列表的第二个值。 (所以我在这里放弃了第二个dropdwon的element.text,因为它提取了我选择的第2点的值。)

我想检查在每个选择值之后,网页界面上的前一个值是否保持不变,在我的情况下,我有一些错误。

2 个答案:

答案 0 :(得分:1)

您可以使用以下属性获取文本字段的值:

element['value']

对于任何其他元素,您可以使用以下方式获取文本:

element.text

答案 1 :(得分:0)

您只需element.text即可获取元素的显示值。