如何使用SeleniumWebDriver单击非锚定标记?

2024-10-03 19:29:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用SeleniumWebDriver对一个网站进行自动测试。我已经成功地点击了许多菜单和链接到一个点。你知道吗

有一次,我使用的网站会生成如下链接:

<U onclick="HourglassSubmitItem(document.all('PageName').value, '00000001Responsibility Code')">Responsibility Code</U>

我正在尝试使用webdriver的.click功能单击此链接,但没有成功。你知道吗

使用此项:

page.find_element_by_xpath("//u[contains(text(),'Responsibility Code')]")

成功找到上面的U标记。但是当我将.click()添加到此xpath的末尾时,不会执行单击。但它也不会产生错误。所以,我的问题是,Selenium是否可以用来模拟对非anchor()标记的HTML标记的单击?如果是,怎么做?你知道吗

我还要说,我不能控制我正在使用的页面,因此无法将更改为。你知道吗

如果社区能提供任何指导,我将不胜感激。你知道吗

谢谢你的帮助

克里斯


Tags: 标记网站链接菜单codealldocumentxpath
2条回答

在这种情况下,您可以选择JavaScript。你知道吗

WebElment  element = page.find_element_by_xpath("//u[contains(text(),'Responsibility Code')]")

JavaScriptExecutor executor = (JavaScriptExecutor)driver;

executor.ExecuteScript("arguments[0].click();", element);

有时使用JavaScript可以解决“点击”问题:

element = page.find_element_by_xpath("//u[contains(text(),'Responsibility Code')]")
page.execute_script('arguments[0].click();', element)

相关问题 更多 >