硒不点击最上面的元素

2024-09-30 02:32:12 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑以下自动化:
它的目标是转到financial chart from the website Barchart,单击自定义日历图标(在图表的右上角),以弹出的形式输入一个自定义范围,并使用apply按钮对其进行验证

driver = webdriver.Chrome()
url = 'https://www.barchart.com/stocks/quotes/AAPL/interactive-chart'
driver.get(url)
driver.find_element_by_css_selector('.calendar-icon').click()
driver.find_element_by_css_selector('option[label="Intraday"]').click()
driver.find_element_by_css_selector('[data-ng-model="selectedAggregation.range.from"]').send_keys('11/01/2019')
driver.find_element_by_css_selector('[data-ng model="selectedAggregation.range.to"]').send_keys('11/01/2019')
driver.find_element_by_css_selector('[data-ng-model="selectedAggregation.range.to"]').send_keys(Keys.ENTER)
driver.find_element_by_css_selector('[data-ng-click="modalConfirm()"]').click()

在我尝试验证之前,它在大多数情况下都可以正常工作,但这从来都不起作用。然后我意识到,最后一个动作有时会让我进入一个促销页面,该页面的链接正好位于Apply按钮的下方。这似乎表明硒'点击通过'形式到下面的链接

我尝试了其他的选择应用按钮,它们都给出了相同的结果。 我还尝试使用selenium的submit()方法,它返回一个错误。最后,我还尝试从selenium实现execute_script方法,但是我没有理解在单击apply时执行的javascript调用到底是什么

注意:这是因为我需要获取该调用生成的cookie和xsrf令牌,而不是因为我需要收集实际的财务数据(我知道可以使用'https://www.barchart.com/proxies/timeseries/queryminutes.ashx?' + data收集财务数据),其中data是查询字符串参数

非常感谢您的帮助


Tags: senddatabymodeldriverrangeelementkeys
1条回答
网友
1楼 · 发布于 2024-09-30 02:32:12

我有一个你看,下面应该接受你的变化,我已经检查了这个,它为我工作

javascript = 'document.querySelector("body > div.reveal-modal.fade.interactive-chart-modal-aggregation.in > div > div > div > button.bc-button.light-blue").click()'

driver.execute_script(javascript)

相关问题 更多 >

    热门问题