如何提取 HTML 标签中的文本(在 Selenium IDE 中)?
html 看起来像这样:
<p>
sometext1
<br>
sometext2
<br>
sometext3
</p>
我想提取段落标记之间的所有文本,包括
标记。
我尝试使用 storeText
函数,但它仅存储文本,没有标签。 我可以存储整个 HTML 源代码,然后在 Perl 中提取我需要的内容,但我想知道是否有一种方法可以使用特定的 xpath 存储 HTML 代码块(例如,将网页中第三个表的 HTML 代码存储在里面)一个变量)。
The html looks something like this:
<p>
sometext1
<br>
sometext2
<br>
sometext3
</p>
I would like to extract all the text between the paragraph tags, including the <br>
tags.
I tried to use storeText
function, but it stores only the text, without the tags.
I could store the entire HTML source and then extract what I need in Perl, but I was wondering if there is a way to store a block of HTML code using a specific xpath (e.g. store the HTML code for the third table in the webpage inside a variable).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
innerHTML
我将尝试使用 document.getElementById('id').innerHTML
innerHTML
i will try with document.getElementById('id').innerHTML
您可以将 getEval() 与 Javascript 结合使用,返回元素的innerHTML。不过,你必须在 javascript 中找到它
you could use a getEval() with Javascript that return the innerHTML of the element. You'll have to find it in javascript, though
@Tarun:如果我能的话,我会的……
@Grooveek:谢谢,伙计,这有效。
我使用:
这将第9段的内容保存在变量
p
中。我必须使用 getElementsByTagName 因为标签没有 id。
为了更准确,可以使用
getElementById
函数安装:希望这对其他人也有帮助。
再次感谢。
@Tarun: I would if I could man....
@Grooveek: Thanks man, that worked.
I used:
This saved the content of the 9th paragrah in the variable
p
.I had to use
getElementsByTagName
because the tags had no id's.For more accuracy, one could use
getElementById
function insted:Hope this will help other people too.
Thanks again.
我建议这样做:
但请记住,如果您正在处理文本框,则不能使用
.text
;它返回None
。在这种情况下,您应该使用.get_attribute("value")
,当您无法捕获所需内容时,您可以使用.get_attribute("innerHTML")
。I suggest this:
But keep in mind if you are dealing with text-boxes, you can't use
.text
; it returnsNone
. In that case you should use.get_attribute("value")
, and when ever you are unable to catch what you want, you can use.get_attribute("innerHTML")
.getAttribute("innerHTML");为我工作
getAttribute("innerHTML"); works for me
我建议通过类名来查找它,并非所有对象都有它的 Id。
数字 0 将返回第一次出现的情况。如果有多个元素,请选择适当的数量,或者通过.length获取类出现的次数
I propose to find it by a class name, not all objects have it's Id.
number 0 will return first occurence. If there is more than one element, choose proper number, or get the number of class occurencies by .length