python - Selenium Python:不知道如何将当前时间 +1hr 映射到下拉列表中的选项(xpath,值)
问题描述
我正在尝试自动化一个有几个小时的下拉菜单,我的目标总是选择当前时间前一小时。
from selenium import webdriver
from selenium.webdriver.remote.webdriver import WebDriver
import time
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from LoginPage import executor_url,session_id
from datetime import date
from datetime import datetime,timedelta
def attach_to_session(executor_url, session_id):
original_execute = WebDriver.execute
def new_command_execute(self, command, params=None):
if command == "newSession":
# Mock the response
return {'success': 0, 'value': None, 'sessionId': session_id}
else:
return original_execute(self, command, params)
# Patch the function before creating the driver object
WebDriver.execute = new_command_execute
driver = webdriver.Remote(command_executor=executor_url, desired_capabilities={})
driver.session_id = session_id
# Replace the patched function with original function
WebDriver.execute = original_execute
return driver
bro = attach_to_session(executor_url, session_id)
bro.get('https://heregoesmywebportaladdress')
today=date.today()
now=datetime.now()+ timedelta(hours=1)
print(date.strftime(now,'%H'))
bro.find_element_by_id("snapshot_scheduler_form_startDate").send_keys(date.strftime(today, '%Y-%m-%d'))
time.sleep(2)
bro.find_element_by_id("snapshot_scheduler_form_startTime_hour").click()
这是我不知道该怎么做的地方。
bro.find_element_by_xpath("/html/body/div[2]/div/div[2]/div[2]/div/div[2]/div/div/div/div[1]/div/div/div/div/div[2]/form/fieldset[1]/div/select[1]/option[13]").click()
time.sleep(2)
这些是选项
<select id="snapshot_scheduler_form_startTime_hour" name="snapshot_scheduler_form[startTime][hour]" class="form-control">
<option value="0">00</option>
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<option value="4">04</option>
<option value="5">05</option>
<option value="6">06</option>
<option value="7">07</option>
<option value="8">08</option>
<option value="9">09</option>
<option value="10">10</option> ETCD
解决方案
推荐阅读
- python - 这个while条件是什么意思?
- pine-script - 百分比获利和追踪止损交易查看策略问题
- arrays - 在vertica SQL中无法将var-char数组转换为int数组
- c# - Powershell 脚本错误“找不到“LoadFromCollection”和参数计数的重载:“1”。”
- java - Java Web 客户端 CXF - JAXB 编组异常;嵌套异常是 javax.xml.bind.MarshalException
- c# - Scrollviewer 不会停在窗口边框
- laravel - 如何在 laravel 7 中创建路由组
- loops - Anylogic检测和迭代放置在另一个代理(主)上的代理
- c++ - 节点原生插件:在工作线程中将字符串参数转换为 UTF-8
- python - Python火柴游戏