python - 基于硒日期的刮表
问题描述
我对 selenium 很陌生,现在我试图根据这个网站https://www.bi.go.id/id/moneter/informasi-kurs/transaksi-bi/Default.aspx的日期来抓取表格,我想要什么从 2015 年 11 月到 2020 年 11 月,scrape 是 kurs 交易,但是当我尝试制作 selenium 选择过滤器 mata uang 和日期时,我陷入了困境和困惑。请告诉我该怎么办!先感谢您
这是我的代码
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
import re
import time
from bs4 import BeautifulSoup
# Import webdriver to initialise a browser
from selenium.webdriver import ActionChains
driver = webdriver.Chrome()
driver.get("https://www.bi.go.id/id/moneter/informasi-kurs/transaksi-bi/Default.aspx")
for m in range(1):
# Search for the button that allows to go back
previous = driver.find_element_by_xpath(
' //*[@id="ctl00_PlaceHolderMain_biWebKursTransaksiBI_ddlmatauang1"]/option[24]')
# Make click in that button
ActionChains(driver).click(previous).perform()
当我试图用“FILTER MATA UANG”做事时,它给了我这个消息错误
JavascriptException:消息:javascript 错误:无法在“文档”上执行“elementsFromPoint”:提供的双精度值是非有限的。(会话信息:chrome=86.0.4240.198)
解决方案
我假设您的问题是您无法指定确切的日期。id 建议您点击需要使用该find_element_by_xpath().click
功能输入日期“20-Nov-15”的字段,然后使用
element.send_keys(20-Nov-15)
和
element.send_keys(ENTER)
确认。
对插入“20-Nov-20”的其他字段进行处理,我希望它有效:D
推荐阅读
- python - 在python中可以在单个if条件下写在下面吗?
- microsoft-graph-api - AccessDenied 令牌中需要存在 scp 或角色声明
- symfony - 限制对 Doctrine 实体的访问的单一位置
- rest - 并行调用中的骆驼REST服务问题
- sql - 如何使用计数在 SQL Server 中对列执行行
- aws-step-functions - 从 Step Function Activity 批量获取任务的任何方式
- c# - Control.ValueChanged 触发时间偏移
- html - html / css:悬停div的每个单词时加下划线,不换行
- java - 无法从 JSON 中解析“日期”
- php - 对数组值求和并在php上捕获每个索引输出