社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何通过Selenium和Python在Gas Day输入框中输入日期

jrodioukova • 4 年前 • 946 次点击  

我正在使用python和selenium读取此URL: http://ips.alliance-pipeline.com/Ips/MainPage.aspx?siteId=4

我用硒打开它,点击加号(左手边),然后点击“每日吞吐量”。打开一个带有“加油日”输入框的页面,我想在其中输入一个日期。 如果这些步骤是在常规的Chrome浏览器中手动完成的,那么它可以正常工作,我可以输入日期,然后单击“检索”并获取数据表。但出于某种原因,Selenium使输入框为只读。我已经尝试删除“只读”属性(请参见注释掉的行),在这种情况下,该属性似乎被删除,但日期仍不在框中输入,数据也不被检索。

为什么硒使这个元素成为只读的,我怎样才能防止这种情况发生?

代码如下:

url = 'http://ips.alliance-pipeline.com/Ips/MainPage.aspx?siteId=4'
browser = webdriver.Chrome()
browser.get(url)
browser.find_element_by_id('treeviewn0').click() # click on "Capacity" heading
browser.find_element_by_id('treeviewt1').click() # click on "Daily Throughput" heading
time.sleep(2)
# browser.execute_script('document.getElementsByClassName("igte_EditInContainer")[0].removeAttribute("readonly")')
d = datetime.date.today() - datetime.timedelta(days=5)
d_str = d.strftime('%m/%d/%Y')
date_box = browser.find_element_by_xpath('//*[@id="MainContent_dtJobSchedForGrid"]/tbody/tr/td[1]/input')
# print(date_box.get_attribute('readonly'))
date_box.send_keys(d_str + '\n')
time.sleep(5)
browser.find_element_by_id('MainContent_btnRetrieveJobSchedForGrid').click() # click the Retrieve button
time.sleep(5)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38145
 
946 次点击  
文章 [ 1 ]  |  最新文章 4 年前