watir-webdriver:如何从HTML中检索整行,我在其中找到了子串?

ear*_*ter 1 ruby webdriver watir-webdriver

来自服务器的HTML中有类似的东西:

<html ...>
<head ...>
....
<link href="http://mydomain.com/Digital_Cameras--~all" rel="canonical" />

<link href="http://mydomain.com/Digital_Cameras--~all/sec_~product_list/sb_~1/pp_~2" rel="next" />
...
</head>
<body>
...
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果b保持浏览器对象导航到我需要查看的页面,我能够找到rel="canonical"with b.html.include?语句,但是如何检索找到此子字符串的整行?我还需要下一个(非空).

Jus*_* Ko 5

您可以使用css-locator(或xpath)来获取链接元素.

以下将返回具有rel属性值为"canonical"的link元素的html(这将是行):

b.element(:css => 'link[rel="canonical"]').html
#=> <link href="http://mydomain.com/Digital_Cameras--~all" rel="canonical" />
Run Code Online (Sandbox Code Playgroud)

我不确定你的意思是"我还需要下一个(不是空的)." 如果您的意思是想要具有rel属性值为"next"的那个,您可以类似地执行以下操作:

b.element(:css => 'link[rel="next"]').html
#=> <link href="http://mydomain.com/Digital_Cameras--~all/sec_~product_list/sb_~1/pp_~2" rel="next" />
Run Code Online (Sandbox Code Playgroud)