如何通过Ruby Watir获取特定元素的源地址(src属性)值?

更新于
2026-10-09 21:20:49
1阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计450个文字,预计阅读时间需要2分钟。

如何通过Ruby Watir获取特定元素的源地址(src属性)值?

为了实现这个需求,我们可以使用Ruby的HTML解析库,如`Nokogiri`,来解析HTML内容,并提取所需的信息。以下是一个简单的Ruby脚本,它解析HTML内容,提取``标签中的文本和``标签的`src`属性,然后按照要求输出结果。

rubyrequire 'nokogiri'

_content=<<-HTML hello HTML

解析HTMLdoc=Nokogiri::HTML(_content)

提取td标签的文本和img标签的src属性result=doc.xpath('//table/tr/td').map do |cell| if cell.name=='td' && cell.xpath('img').any? # 如果td标签内包含img标签,则只输出img的src属性 cell.xpath('img/@src').text else # 否则输出td标签的文本 cell.text.strip endend

输出结果puts result.join(' ')puts end

这段代码会输出:hello xyz.pngend

这样,我们就按照要求输出了所需的文本和图片信息。

<table> <tr> <td>hello</td> <td><img src="xyz.png" width="100" height="100"></td> </tr> </table> tabledata.rows.each do |row| row.cells.each do |cell| puts cell.text end end puts "end"

获得输出 – >

hello end

我应该怎么做这样的输出 – >

hello xyz.png end

没有使用Nokogiri.

获取属性

您可以使用Element#attribute_value方法获取元素的属性.例如,

element.attribute_value( ‘属性’)

对于许多标准属性,您还可以执行以下操作:

element.attribute

输出单元格文本或图像文本

假设单元格有文本或图像:

>您可以遍历单元格
>检查图像是否存在
>输出图像src(如果存在)
>否则输出单元格文本

这看起来像:

tabledata.rows.each do |row| row.cells.each do |cell| if cell.image.exists? puts cell.image.src #or cell.image.attribute_value('src') else puts cell.text end end end puts "end"

如何通过Ruby Watir获取特定元素的源地址(src属性)值?
标签:src属

本文共计450个文字,预计阅读时间需要2分钟。

如何通过Ruby Watir获取特定元素的源地址(src属性)值?

为了实现这个需求,我们可以使用Ruby的HTML解析库,如`Nokogiri`,来解析HTML内容,并提取所需的信息。以下是一个简单的Ruby脚本,它解析HTML内容,提取``标签中的文本和``标签的`src`属性,然后按照要求输出结果。

rubyrequire 'nokogiri'

_content=<<-HTML hello HTML

解析HTMLdoc=Nokogiri::HTML(_content)

提取td标签的文本和img标签的src属性result=doc.xpath('//table/tr/td').map do |cell| if cell.name=='td' && cell.xpath('img').any? # 如果td标签内包含img标签,则只输出img的src属性 cell.xpath('img/@src').text else # 否则输出td标签的文本 cell.text.strip endend

输出结果puts result.join(' ')puts end

这段代码会输出:hello xyz.pngend

这样,我们就按照要求输出了所需的文本和图片信息。

<table> <tr> <td>hello</td> <td><img src="xyz.png" width="100" height="100"></td> </tr> </table> tabledata.rows.each do |row| row.cells.each do |cell| puts cell.text end end puts "end"

获得输出 – >

hello end

我应该怎么做这样的输出 – >

hello xyz.png end

没有使用Nokogiri.

获取属性

您可以使用Element#attribute_value方法获取元素的属性.例如,

element.attribute_value( ‘属性’)

对于许多标准属性,您还可以执行以下操作:

element.attribute

输出单元格文本或图像文本

假设单元格有文本或图像:

>您可以遍历单元格
>检查图像是否存在
>输出图像src(如果存在)
>否则输出单元格文本

这看起来像:

tabledata.rows.each do |row| row.cells.each do |cell| if cell.image.exists? puts cell.image.src #or cell.image.attribute_value('src') else puts cell.text end end end puts "end"

如何通过Ruby Watir获取特定元素的源地址(src属性)值?
标签:src属