首页 > 解决方案 > 如果输入文本框包含部分单词,则填写输入文本框

问题描述

我最近在玩 Selenium,我知道很多基础知识,我想知道是否有办法做到这一点:

如果输入文本字段包含(部分)单词:“用户”,则:

self.driver.find_element_by_xpath("//input‌[contains('user')]").send_keys("username")

所以本质上,如果输入文本标签包含工作“用户”,则假定它是用户名字段,同样适用于“密码”和“电子邮件”

我不确定这是否可能,从谷歌搜索我看不到任何突出的东西,任何帮助将不胜感激。

标签: pythonseleniumselenium-webdriverselenium-chromedriver

解决方案


这是填充字段的非常糟糕的方法。您不知道哪个字段会接受什么值。让我们取两个字段有“用户”:

<input name='userPassword'/>
<input name'userName'/>

在这种情况下,我们将有 2 个匹配项,并且很难调试或理解到底发生了什么。

只需遵循常规方法并使用 w3c 策略定义定位器:

https://www.w3.org/TR/webdriver1/#locator-strategies

ps 如果您想与这种解决方案作斗争。

您可以通过标记“输入”迭代所有元素并到达“属性”映射。 在此处输入图像描述


推荐阅读