java - Selenium-Java:无法模拟驻留在对话框中的按钮上的单击操作
问题描述
我正在尝试模拟按钮上的单击操作。下面是按钮的DOM源
<div class="btn_container">
<a class="btn btn-primary" style="cursor:pointer;white-space: normal;" data-dialog-panel-id="1" data-cookie-string="RazerTOSAgreed=true; expires=Wed, 28 Oct 2026 02:22:50 GMT; domain=.razer.com; path=/; secure">I Agree</a>
</div>
并且由于按钮在对话框中,因此以下链接是此处对话框的来源
以下是我右键单击并复制按钮时的元素:
right click on element > copy :
copy full xpath : xpath /html/body/div[1]/div/div/div[4]/a
copy xpath : //*[@id="dialogPanel1"]/div[4]/a
copy selector : #dialogPanel1 > div.btn_container > a
我尝试了许多定位器来定位然后单击按钮,但我一直找不到元素。这是我尝试过的一些代码
driver.findElement(By.xpath("/html/body/div[1]/div/div/div[4]/a")).click();
driver.findElement(By.cssSelector("a.btn.btn-primary")).click();
driver.findElement(By.xpath("//*[@id='dialogPanel1']/div[4]/a")).click();
driver.findElement(By.cssSelector("a[class='btn btn-primary']")).click();
driver.findElement(By.xpath("//a[contains(@class, 'button') and contains(@class, 'button-primary')]")).click();
希望有一些建议让我继续前进。谢谢 !如果您需要更多信息,请告诉我。
解决方案
推荐阅读
- php - PHP 从文件中读取对象属性值
- javascript - 在redux angular 9中使用异步管道和#select装饰器时出现无限错误
- python - 使用 API(图形 API、Youtube API)在 facebook、instagram 和 Youtube 上关注用户
- flutter - 例外:[!] 您的应用正在使用不受支持的 Gradle 项目
- sql - 从 SQL Server 执行多个 Oracle 11g 函数
- git - git push 失败,因为没有要求登录令牌
- c# - ASP.NET Core Runtime deploymenet 证书信任
- google-drive-api - Google 数据工作室报告:获取页面 ID
- python - 在 VS shell 中仍然无法识别 python cmd
- php - PHP通过3个函数级联(传递)后续返回