python - 如何在 Python 中使用 Selenium 来捕获 Google 日历上的动态元素?
问题描述
我正在创建一个自动登录的谷歌日历机器人,我遇到了一个问题,即每次登录时某个元素的 xpath 都会不断变化(但它具有类似的形式)。这里有些例子:
// [@id="c307"]/div/div[1]/div/div[2]/div/div[1]/div[1]/div/label/div[1]/div/input/ / [@id="c236"]/div/div[2]/div[1]/div/div/span/div/div[1]/div[2]/div[1]/div/div[1 ]/input' //*[@id="c27"]/div/div[1]/div/div[2]/div/div[1]/div[1]/div/label/div[1] /div/输入
等等。鉴于它总是在变化,我如何使用 Selenium 点击这个动态元素?帮助将不胜感激,谢谢。
解决方案
我建议在 xpath 上使用 querySelector
MDN 网络文档 document.querySelector
这个的实现看起来像:
driver.execute_script('document.querySelector("#specific_element_id").click()')
此代码找到一个看起来像的元素<input type="button" id="specific_element_id">
并将单击它。
推荐阅读
- excel - Excel vba:网格线帮助
- javascript - 在回调函数内部更改变量并在外部使用
- php - 具有相同收据编号的两次交易
- html - 单击我的博客后,页面顶部的博主标签文本变小/不同。我如何解决它?
- bash - 缺少 google-services.json 并运行“make bootstrap”(Kickstarter 应用程序 android studio)
- typescript - ES6 / Typescript - 键入箭头函数的值
- php - 如何在不注销其他用户的情况下同时登录用户
- angularjs - 如何根据Angular 4中的条件在表单控件上操作(有效/无效)表单验证
- python - 如何通过 slackclient 将图像作为 slack 机器人发送到 Slack?
- android - 从工作室的父模块打开android项目