Python和Selenium查找具有非确切名称的元素

时间:2013-07-01 12:45:11

标签: python selenium

我想登录一个类似于此

的表单的网页
<form name="input" action="html_form_action.asp" method="get">
Username: <input type="text" name="user">
<input type="submit" value="Submit">
</form> 

问题是,在此示例中,用户字段的名称为“user”,我将登录多个网站。

我如何找到多个元素名称的搜索?或者如何在名称

的文本中找到带有“用户名”或“用户”的元素

IE中。 browser.find_element_by_name('user'或'username')

1 个答案:

答案 0 :(得分:2)

如果你使用xpath(我认为CSS也支持它,但我不确定),你可以在选择器中使用更复杂的逻辑表达式。例如,选择名称中包含“user”的元素,或者名称为“user”或“username”的元素。

browser.find_element_by_xpath('//input[contains(@name, "user")]')
browser.find_element_by_xpath('//input[@name="user" or @name="username"]')

(我承认在XPATH上生锈了,所以如果那些不完全按照书面形式工作,请对它进行评论。)