python - 如何通过 Selenium 设置 AngularJS 下拉菜单的值?
问题描述
我在 Python 中使用 Selenium 登录网站,然后设置某些值,其中一些值保存在下拉菜单中。在 Chrome 中,当我检查下拉菜单时,我得到以下信息:
此页面上有多个下拉菜单。如果此元素似乎没有唯一 ID,我将如何更改此特定下拉菜单的值?
这是我到目前为止单击login
按钮、输入我的凭据并登录的代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import time
PATH = "/Users/mikefenty/Documents/chromedriver"
driver = webdriver.Chrome(PATH)
wait = WebDriverWait(driver, 10)
driver.get("https://www.binarycent.com/")
link = wait.until(EC.element_to_be_clickable((By.LINK_TEXT, "Login")))
link.click()
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "input[ng-model='email']"))).send_keys(<login ID>)
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "input[ng-model='password']"))).send_keys(<password>)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[class*='ui primal']"))).click()
#EC.visibility_of_element_located(By.CSS_SELECTOR, "button[class='ui button green']"))
driver.quit()
解决方案
推荐阅读
- jenkins - Jenkins 升级到 LTS 2.249.1 - 缺少侧栏面板菜单
- c - sizeof 运算符返回 16 位处理器系统
- python - TypeError:'set' 对象不可调用 discord.py
- terraform - 我们可以使用 terraform 或 gcloud 命令更改 GCP 云构建设置吗
- php - 按角色过滤用户 Laravel
- python - Scraping specific data from edgar
- mysql - 如果使用 sprintf 将 MYSQL_ROW 中的字段放入 char 数组中不会崩溃,这只是运气吗?
- c# - 如何在c#中将八个数字'0'和'1'字符的数组转换为字节
- javascript - 如何将 localStorage 用于活动链接
- html - 线性渐变边框问题