(http://i.imgur.com/jUWMJxP.png
上面显示了源,突出显示的是我要点击的按钮。
我尝试了一些像
这样的东西WebElement element = webdriver.findElement(By.xpath(" // * [@id = \" PatientHome \"] / table / tbody / tr / td [4] / table / TBODY / TR [4] / TD / A&#34));
编辑: 。WebManager.driver.switchTo()帧(" EMGuildline&#34); WebManager.driver.switchTo()帧(" EMGuildlineWin&#34);
尝试了两者,仍然无法点击
答案 0 :(得分:0)
问题是您要点击的元素位于iframe
。如果您切换到该上下文,Selenium只能访问iframe
或frame
中的内容。
您需要切换到iframe
:
webdriver.switchTo().frame("EMGuildlineWin");
webdriver.findElement(By.xpath("//* [@id='PatientHome']/table/tbody/tr/td[4]/table/tbody/tr[4]/td/a")).click();
当您在iframe
中完成后,您需要切换回来:
webdriver.switchTo().defaultContent();
switchTo()
接受了几个论点
- ID或名称 - id="EMGuildlineWin"
表示您可以使用switchTo().frame("EMGuildlineWin")
- index - 从零开始 - switchTo().frame(0)
- webElement - 使用findElement
,您可以传递结果 - switchTo.frame(webdriver.findElement(ByLocator))