python - Python + Selenium - 无法按类名定位元素
问题描述
我正在尝试将 Selenium 与 Python 一起使用来登录网页。我已经到了可以成功输入用户名和密码的地步。最初我尝试只使用密码字段中的“Enter”键,如下所示 -
passwordField = browser.find_element_by_css_selector('#password')
passwordField.send_keys(Keys.ENTER)
这对我不起作用,即使在我的光标位于密码字段中时按“Enter”可以让我正常登录。
所以现在我试图点击登录按钮,但我的问题是我似乎无法正确定位元素。
在 Chrome 控制台中,按钮是这样列出的(为便于阅读而添加了新行)-
<button class="btn__primary--large from__button--floating mercado-button--primary"
data-litms-control-urn="login-submit"
type="submit" aria-label="Sign in">Sign in</button>
类名包含空格,所以我尝试了这个 -
signInButton = browser.find_element_by_class_name('btn__primary--large from__button--floating mercado-button--primary')
signInButton.click()
不幸的是 Selenium 找不到那个元素 -
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".btn__primary--large from__button--floating mercado-button--primary"}
如何定位此登录按钮?
编辑:这是网址 - https://www.linkedin.com/login?fromSignIn=true&trk=guest_homepage-basic_nav-header-signin
解决方案
显然它试图将整个字符串视为一个类,但是这些是多个类。您是否尝试过只传入一个类名?尽管它可能会找到多个项目。也许你会更好地寻找一个#id?
推荐阅读
- javascript - 我的代码不刷新就无法工作。它没有显示正确的页面颜色
- swift - 更改 IBOutlet 标题时意外发现 nil
- javascript - 如何将两个 html 表单与一个谷歌表格链接?
- amazon-web-services - 未找到字段的值 - AppSync AWS
- python - 查找数据框中的最低时间值
- java - JAVA Hibernate 合并正在更新而不是合并
- python - 使用 python 在现有 SQL Server 表中附加来自 excel 的数据
- flutter - 哪些 Flutter 默认插件很重要?
- php - 如何向 Laravel Artisan 生成的代码添加更多内容?
- excel - 使用多个条件压缩嵌套的 if 语句