我正在为一位希望我做selenium / junit测试的客户工作,但整个用户界面没有显示任何html代码的id或页面的标题,只是像“欢迎来...”这样的内容,如何检查一个是在主页上还是在登录页面中?例如?
这是html的一个例子:
<div class="site-body m-welcome" data-module="welcome">
<div class="inner">
<h1 class="starred dark"><span>Welcome to ...</span></h1>
<div class="choices">
<div class="choice">
<a href="http://www.alink/account/validate/driver" class="btn btn-primary">Become a xxxxx</a>
</div>
<span class="or"><span>Or</span></span>
<form action="http://www.alink/welcome" method="post" class="choice" data-response-type="json">
<input type="text" name="plate_number" id="car_plate_validation_plate_number" value="" maxlength="8" class="plate required numberplate" placeholder="Enter number plate">
<button type="submit" class="btn btn-primary">Become an yyyyy</button>
<div class="invalid-message inline-modal" data-behavior="modal">
<h1>Sorry - you are not eligible to join the company</h1>
<p>See <a href="#">am I eligile?</a> for full eligibility critera.</p>
</div>
</form>
</div>
答案 0 :(得分:1)
您可以使用XPath查找几乎所有元素,我不会经常使用它,但在您的情况下(没有任何ID)您可能需要经常使用它:
IWebElement element = driver.FindElement(By.XPath, "//*[text='Welcome in ...']");
这将为您提供任何类型的第一个元素,其中包含“Welcome in ...”中的文本
为了检查您是否在某个页面上,我猜您必须搜索该页面独有的元素,而不是其他页面。
如果您想要更具体的示例,则需要向我们展示一些HTML。
答案 1 :(得分:0)
html示例:
<div class="site-body m-welcome" data-module="welcome">
<div class="inner">
<h1 class="starred dark"><span>Welcome to ...</span></h1>
<div class="choices">
<div class="choice">
<a href="http://www.alink/account/validate/driver" class="btn btn-primary">Become a xxxxx</a>
</div>
<span class="or"><span>Or</span></span>
<form action="http://www.alink/welcome" method="post" class="choice" data-response-type="json">
<input type="text" name="plate_number" id="car_plate_validation_plate_number" value="" maxlength="8" class="plate required numberplate" placeholder="Enter number plate">
<button type="submit" class="btn btn-primary">Become an yyyyy</button>
<div class="invalid-message inline-modal" data-behavior="modal">
<h1>Sorry - you are not eligible to join the company</h1>
<p>See <a href="#">am I eligile?</a> for full eligibility critera.</p>
</div>
</form>
</div>