对于以下html代码:
<div class="r signbox">
<form method="POST" id="loginByEmail">
<dl>
<dt>Seller Login</dt>
<dd>
<input type="text" class="text" name="email" placeholder="Email Address" value="">
<div class="error"></div>
我如何选择&#34;电子邮件&#34;属性名称?原因是因为该网站使用了两个具有相同名称的表格框,因此我想特别针对该类中的一个&#34; r signbox&#34;。感谢您的帮助,Selenium Webdriver全新。
答案 0 :(得分:0)
首先在选择器中选择“r signbox”类的所有内容。
选择所需信息后,您可以使用同一代码块中序列中的新选择器获取反叛信息。正如您所问,使用attr名称将是:
$(“。r.signbox [class ='email']”);
答案 1 :(得分:0)
同名是指 id 属性?
如果是的话,这很奇怪。
如果没有,我建议您首先映射表单元素并在输入之后。这样做,如果在 div.r.signbox 和表单之间添加另一个表单,您将阻止测试中断。#loginByEmail
无论如何,@ Striter awnser是不正确的,因为他在电子邮件作为班级寻找任何东西。
提示是使用标签名称更精确:
div.r.signbox input[name='email']
这会查找包含 r 和 signbox 的div,并在此元素(请参阅空格?)中查找具有属性 name 估价为电子邮件。
即使有人在 dd 和之间添加了一个 div ,其名称属性为电子邮件 dt ,你的定位器工作正常。
以下是CSS选择器的一个很好的参考:https://saucelabs.com/selenium/css-selectors
如果您喜欢书籍, Selenium Testing Tools Cookbook 的第一章将为您提供良好的知识:http://www.amazon.com/Selenium-Testing-Cookbook-Gundecha-Unmesh/dp/1849515743