agl*_*eno 1 python selenium xpath parent
我有一个网站http://demoqa.com/registration/
我一直在尝试验证,当用户单击然后单击用户名或电话号码等必填字段时,是否会在未输入数据时出现“必填字段”错误。
有谁知道如何验证这一点?我刚在想
phone = self.driver.find_element_by_xpath("//div[contains(.,'Phone Number')]")
Run Code Online (Sandbox Code Playgroud)
然后使用类似 getError = phone.find_element_by_xpath() 并使用 (..) 尝试向上移动到父类,但没有运气!
我认为这很容易,但所有元素都具有相同的类名。我想我可以检查文本“此字段是必需的”,但我想保持整洁并编写一个方法,以便我可以在每个字段上使用它。
我今天花了很多时间寻找它并尝试不同的东西,所以任何帮助或想法都会很棒。
谢谢!
其他信息:
我可以告诉您单击该字段之前和之后会发生什么。我对解决此问题的最佳猜测是验证“电话号码”字段的类名,然后一旦单击关闭,验证类名是否已更改。如您所见,顶部是单击关闭之前,下方是出现所需字段文本的时间
<div class="fieldset">
<label class="" for="phone_9">Phone Number</label>
<input id="phone_9" class="input_fields piereg_validate[required,custom[phone_international]]" type="text" value="" placeholder="" name="phone_9">
</div>
<div class="fieldset error">
<label class="" for="phone_9">Phone Number</label>
<input id="phone_9" class="input_fields
piereg_validate[required,custom[phone_international]]" type="text" value=""
placeholder="" name="phone_9">
<div class="legend_txt">
<span class="legend error">* This field is required</span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我有我的解决方案 *我认为
看到出现所需消息时“div 类名称”如何变化我有一个解决方案。我首先找到该元素,通过使用 (..) 上升一级来获取它的父名称,我验证它应该被命名为“fieldset”。我认为触发错误消息,并重复该过程但确保“字段集”已更改为“字段集错误”
getElementBase = self.driver.find_element_by_id('phone_9')
getElementClassRoot = getElementBase.find_element_by_xpath('..')
getElementClassRootName = getElementClassRoot.get_attribute('class')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2697 次 |
| 最近记录: |