javascript - 使用 Python Selenium 的 Javascript 登录页面
问题描述
我正在尝试使用 Python selenium 包登录到以下页面来做一些活动。我写了以下内容,但每次我得到“找不到类”。我需要访问用户名和密码才能使用send_keys()
。对此的任何反馈表示赞赏。
[代码]
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC
chrome_browser = webdriver.Chrome('C:/Users/vbabu/AppData/Local/chromedriver')
chrome_browser.maximize_window()
chrome_browser.get('https://myservices-dfsi.console.oraclecloud.com/mycloud/cloudportal/gettingStarted')
form = chrome_browser.find_element_by_id('idcs-signin-basic-signin-form-post-redirect-form')
print(form)
[错误]
selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素:{“方法”:“css选择器”,“选择器”:“[id =”idcs-signin-basic-signin-form-post-重定向表单"]"}
[预期输出]
我需要访问用户名和密码标签。
解决方案
尝试使用显式等待,直到元素可用于执行操作
username = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.ID, "idcs-signin-basic-signin-form-username")))
username.send_keys("some_text")
导入以下包:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
推荐阅读
- python - 将 pandas df 转换为具有不同长度的列表列表
- r - 列出特定观察的变量的特定值
- java - 如何在java中运行x数量的线程并将它们连接在一起?
- c# - 程序生成的球形网格上的 MeshCollider 无法正常工作
- reactjs - 如何使 react-bootstrap 导航栏保持固定 =“顶部”并在其下方有侧边栏
- windows - 使用 CredSpec 的经典 ASP/MSSQL 身份验证问题
- python - 计算大量 3x3 点积的最快方法
- amazon-dynamodb - Boto3 无法连接到在 Docker 容器中运行的本地 DynamoDB
- javascript - 如何解析angular9中的嵌套对象数组
- python - 实现 python 装饰器以将函数传递给另一个函数