Small-lucky

在做selenium操作日期控件时可以通过JS修改日期,简化点击选择的操作,下面以12306为例进行演示操作: 

首先,打开12306官网首页https://www.12306.cn/index/,定位到出发日期元素(By.ID, \'train_date\'),查看元素属性发现元素有readonly属性

然后,将将元素的readonly属性设置为false

最后,给元素赋予新的日期值

 

 

下面是具体操作步骤:

from selenium import webdriver

# 1. 打开12306首页
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
driver.get(\'https://www.12306.cn/index/\')

# 2. 定位到日期控件
date_ele = (By.ID, \'train_date\')
WebDriverWait(driver,5,0.5).until(EC.visibility_of_element_located(date_ele))

# 3.准备js语句 修改realonly属性 + 赋值
js = \'\'\'
var date = document.getElementById(\'train_date\');
date.readOnly = false;
dare.value = [0];
\'\'\'
driver.execute_script(js,args=[\'2020-12-18\'])

 

分类:

技术点:

相关文章: