我想使用Javascript从一个大网页中获取文本的某一部分,我该怎么做?
有一个网页随机生成一个数字,例如我想使用Javascript从一个大网页中获取文本的某一部分,我该怎么做?,javascript,Javascript,有一个网页随机生成一个数字,例如“Frequency:21”。我正在尝试创建一个脚本,它接受数字21,并将其与另一个变量进行比较,然后与if-else函数进行比较。基本上,我已经完成了大部分,但我无法获得数字21。由于它是随机的,所以我不能输入固定值。 有人能帮我吗 我的代码如下: setTimeout(MyFunction,5000) function MyFunction(level,legmin) { var level = x var legmin = 49 if (lev
“Frequency:21”
。我正在尝试创建一个脚本,它接受数字21
,并将其与另一个变量进行比较,然后与if-else
函数进行比较。基本上,我已经完成了大部分,但我无法获得数字21
。由于它是随机的,所以我不能输入固定值。有人能帮我吗 我的代码如下:
setTimeout(MyFunction,5000)
function MyFunction(level,legmin) {
var level = x
var legmin = 49
if (level <= legmin) {
location.reload(true)
}
else {
alert("Met requirements.")
}
没有正则表达式的快速n脏解决方案
var lookFor = "Frequency : ";
var text = document.querySelector("#pkmnappear>form>p").textContent;
var level = text.substr(text.indexOf(lookFor) + lookFor.length).split(" ")[0];
这假设数字后面会有一个空格您在问题中提供了一个选择器。JavaScript有
querySelector
和queryselectoral
,它们使用CSS样式选择器来选择元素。所以var-level=Number(document.querySelector(“div#pkmnearch>form>p”).textContent)
如果单词Frequency:
在其中,那么在将其转换为数字之前,请使用基本字符串方法将其删除。问题不清楚。谢谢。如果我们让情况进一步复杂化,比如网页可以生成一个值或显示一些文本。甚至这个值也是随机的。在这种情况下,如果我想重新加载,直到得到一个大于50的值,我该怎么做呢?我试过了,但在文字部分卡住了。(文本部分位于div>div>div#pkmn出现下)@ParthMane:要检查我的代码中的level
是否是大于50的数字,您需要执行var levelNum=number(level);变量isGreaterThan50=(Number.isFinite(levelNum)和&levelNum>50)
。我不明白你关于重新加载的意思,所以如果你需要更多帮助,请进一步解释。重新加载部分是重新加载页面,直到获得所需的频率。这部分很简单,否则{重新加载(正确)}
var lookFor = "Frequency : ";
var text = document.querySelector("#pkmnappear>form>p").textContent;
var level = text.substr(text.indexOf(lookFor) + lookFor.length).split(" ")[0];