我想登录一个与此类似的表单的网页
<form name="input" action="html_form_action.asp" method="get">
Username: <input type="text" name="user">
<input type="submit" value="Submit">
</form>
问题是,在本例中,用户字段的名称是“user”,我将登录多个网站。
如何找到对多个元素名称的搜索?或者如何在名称文本中查找带有“用户名”或“用户”的元素
即。 browser.find_element_by_name('用户'或'用户名')
最佳答案
如果你使用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 很生疏,所以如果这些不完全按照书面方式工作,请发表评论。)
关于Python 和 Selenium 查找名称不准确的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17404803/