excel - 使用 selenium VBA 登录具有两个表单组的网站
问题描述
我正在尝试设计一个代码,使我能够
在 VBA 中的 selenium 的帮助下登录网站https://www.change.org/login 。我已经习惯了,但是对于这个网站,我发现了两组表单,我无法指定正确的方向当使用 CSS 选择器进行搜索时,.grouped-form
我发现了两组。我已经尝试了很多事情,但同样的问题是找到两个组,我什至尝试使用 XPath:
.FindElementByXPath("/html/body/div[2]/header/div[3]/div/div/div/form/div[1]/div[1]/div/span/input").SendKeys "yyyy"
但出现错误。
我可以使用以下方法解决它:
.FindElementByCss("#page .login input[name='email']").SendKeys "yakh777@gmail.com"
但我欢迎更多建议..
解决方案
您可以使用以下任一定位器策略:
FindElementByXPath
:FindElementByXPath("//div[@class='login-container']//input[@name='email']").SendKeys "yakh777@gmail.com"
FindElementByCss
:FindElementByCss("div.login-container input[name='email']").SendKeys "yakh777@gmail.com"
推荐阅读
- linux - Makefile 中的 sed 和捕获组
- ios - 我需要表格视图中部分和行的索引路径,我得到了行的索引,但没有部分的索引
- firebase - 使用APP userId(设置为自定义定义),我们如何分析用户在我们的应用程序上的行为?
- css - Webpack MiniCssExtractPlugin:如何为每个条目创建 css 文件?
- winapi - MFC:您如何确定哪个 CBCGPDockingControlBar 处于活动状态/具有焦点?
- wagtail - wagtail HTML模板文件中的语法
- javascript - 提交php表单后如何返回查看提交的数据进行修改
- c++ - 为什么赋值运算符在某些库中是私有的?(例如 RapidJson)
- sql - 如何将数据行转换为新列?
- verilog - verilog 计数器不是从 0 开始