通过浏览器运行Javascript命令

Running A Javascript command through Browser

本文关键字:Javascript 命令 运行 浏览器      更新时间:2023-09-26

通过Java,我试图单击jsp网页上的链接。

然而,当我试图通过xpath和其他方式点击链接时,它不起作用…driver.findElement (By.partialLinkText("成员").click ();driver.findElement (By.xpath("//(包含(文本()、"成员")]")).click ();driver.findElement (By.xpath("/html/身体/div[1]/表/身体/tr/td [1]/ul[2]/李/")).click ();

当我突出显示链接文本时,我看到了这个;javascript: sendTo ('/mp/安全/代理/MemberSelect.do ?事件=第一次')

是否有办法让webdriver只是运行这个命令,而不是试图点击链接?

任何帮助都是感激的!

这是一个可以尝试的Jquery表达式。试(JscriptExecutor(司机).ExecuteScript("$(":包含(成员)").click (); ");要了解更多关于如何在自动化代码中使用jQuery的信息,请参考链接:http://yuvarajatcts.blogspot.com/2014/07/coded-ui-jquery-selectors.html

根据我的经验,使用XPath标记时很难让Selenium/WebDriver正常工作。我发现使用CSS选择器可以编写更加稳定和可读的测试。

driver.findElement(By.cssSelector('table ul a')).click();

理想情况下,您应该为元素指定一个特定的类名或ID,以便减少对文档结构的依赖来查找元素。

如果你幸运的话,你甚至可以使用链接的href作为标识符:

driver.findElement(By.cssSelector('a[href*="thingy"]')).click();

…将链接与以下HTML匹配,例如:

<a href="http://example.com/stuff/thingy/foo/bar">Member Link</a>