如何使用Selenium在View页面源代码中搜索变量值

时间:2019-02-26 06:34:52

标签: java selenium-webdriver

在这里,我有一个场景,需要从视图页面源代码检查变量值。 例如:-以下网址 https://www.seniorhousingnet.com/seniorliving-detail/overture-fair-ridge-62-apartment-homes_3955-fair-ridge-drive_fairfax_va_22033-581333

点击查看页面源,然后找到一个变量“ leadtype”

enter image description here

我知道,我们需要使用driver.getpagesource()来获取硒中的视图页面源,但是我需要检查特定属性的leadtype值,如果它是SHN-enhanced,则逻辑将会不同,如果leadtype的值不同,那么我们需要应用其他逻辑。请让我知道在这种情况下如何检查leadtype的值。

2 个答案:

答案 0 :(得分:1)

希望您正在使用Java,Java提供了多个用于读取html内容的库。 一旦获得页面源,就创建一个html对象,解析它并到达所需的节点。最终获得您选择的节点时,您还可以获取其属性,其值和其他属性

<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.2</version>

Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
log(doc.title());
Elements newsHeadlines = doc.select("#mp-itn b a");
for (Element headline : newsHeadlines) {
  log("%s\n\t%s", 
   headline.attr("title"), headline.absUrl("href"));
}

JSOUP library

jsoup tutorial

baeldung jsoup tutorial

还有一个HTML解析器的stackoverflow问题,请link进行一次检查

答案 1 :(得分:-1)

您不必解析HTML即可获取值。该JS行实际上已执行,然后adobeDTM变量保存数据。您可以使用adobeDTM.leadType进行访问,但是需要执行JavaScript才能获取值。

String leadType = (String) ((JavascriptExecutor)driver).executeScript("return adobeDTM.leadType"));

leadType现在包含“ shn-enhanced”(根据我的代码执行情况)。