我正在使用Selenium WebDriver对网站进行自动测试。我已经成功地点击了许多菜单和指向某个点的链接。
有一次,我正在使用的网站会生成如下所示的链接:
<U onclick="HourglassSubmitItem(document.all('PageName').value, '00000001Responsibility Code')">Responsibility Code</U>
我正在尝试使用网络驱动程序的 .click 功能单击此链接,但没有成功。
使用这个:
page.find_element_by_xpath("//u[contains(text(),'Responsibility Code')]")
成功找到上面的 U 标记。 但是当我将 .click(( 添加到此 xpath 的末尾时,不会执行单击。但它也不会产生错误。所以,我的问题是硒可以用来模拟对不是锚((标签的HTML标签的点击吗?如果是这样,如何?
我还要说的是,我无法控制我正在使用的页面,因此无法更改为。
我将不胜感激社区可以提供的任何指导。
谢谢你的帮助,
克里斯
有时使用 JavaScript
可以解决"点击"问题:
element = page.find_element_by_xpath("//u[contains(text(),'Responsibility Code')]")
page.execute_script('arguments[0].click();', element)
在这种情况下,你可以更喜欢JavaScript。
WebElment element = page.find_element_by_xpath("//u[contains(text(),'Responsibility Code')]")
JavaScriptExecutor executor = (JavaScriptExecutor)driver;
executor.ExecuteScript("arguments[0].click();", element);