数据url或链接上的selenium单击事件
本文关键字:selenium 单击 事件 url 链接 数据 | 更新日期: 2023-09-27 18:26:23
我是Selenium的新手,有以下情况。
我的html:
<div class="activeThumbnail thumbnail simple animated zoomIn" data-url="/report/sales-vs-price" style="height: 332px;">
<div class="caption">
<p class="thumbReportTitle">
<a href="/report/sales-vs-price">Sales vs Price</a>
</p>
</div>
</div>
我需要模拟点击链接,这样它就可以打开报告页面。我根据不同的回答尝试了几个不同的选项(试图访问链接或文本):
1.这引发了"元素不可见"的异常
driver.FindElementByCssSelector("a[href*='sales-vs-price']").Click();
2.在这里,我试图修复"不可见"的异常,所以现在它不会抛出错误,但也不会做任何事情:
Actions builder = new Actions(driver);
Actions click = builder.MoveToElement(driver.FindElementByCssSelector("a[href*='sales-vs-price']")).Click();
click.Build().Perform();
或
Actions builder = new Actions(driver);
Actions click = builder.MoveToElement(driver.FindElementByXPath("//*[contains(text(),'Sales vs Price')]")).Click();
click.Build().Perform();
3.这抛出了一个"无法定位元素"的表达式
driver.FindElementByPartialLinkText("a[href='sales-vs-price']").Click();
4.或者这个,除了:"元素不可见":
driver.FindElementByXPath("//*[contains(text(),'Sales vs Price')]").Click();
我不确定我做错了什么。。。有人知道我是否可以访问数据url吗?或者有人有其他想法吗?
谢谢!
你能试试这个吗。
driver.FindElement(By.PartialLinkText("Sales vs Price")).click();
若并没有找到元素,则使用上面的命令在上引发异常。使用隐式等待(以确保页面已完全加载)。
如果以上命令未执行任何操作,请使用
driver.FindElement(By.PartialLinkText("Sales vs Price")).sendKeys(Keys.Control);
driver.FindElement(By.PartialLinkText("Sales vs Price")).click();
按键。控制将焦点转移到所需元素。我在IE驱动程序方面也遇到过类似的问题。