Python 和 Selenium 查找名称不准确的元素

标签 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”,我将登录多个网站。

如何找到对多个元素名称的搜索?或者如何在名称文本中查找带有“用户名”或“用户”的元素

即。 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/

相关文章:

python - 在 eager 模式下,如何将张量转换为 ndarray

android - 如何在自己的服务器上配置WebRTC?

javascript - 在 Protractor 中点击轮播图像

java - BrowserMob 代理和 Selenium 的问题

java - 如何处理 selenium 中的 javascript 弹出框

python - 在非英文字符站点中抓取数据的问题 [Python]

python - (unicode 错误) 'unicodeescape' 编解码器无法解码字节 - 带有 '\u' 的字符串

python - 为什么我的正则表达式对来自 file.read() 的输入不起作用?