Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用SeleniumWebDriver单击非锚定标记?_Python_Selenium_Selenium Webdriver_Webdriver - Fatal编程技术网

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

Python 如何使用SeleniumWebDriver单击非锚定标记?,python,selenium,selenium-webdriver,webdriver,Python,Selenium,Selenium Webdriver,Webdriver,我正在使用SeleniumWebDriver对网站进行自动测试。我已经成功地点击了许多菜单和指向某一点的链接 在某一点上,我正在使用的网站会生成如下链接: <U onclick="HourglassSubmitItem(document.all('PageName').value, '00000001Responsibility Code')">Responsibility Code</U> 成功找到上面的U标记。但是,当我将.click()添加到此xpath的末尾时,

我正在使用SeleniumWebDriver对网站进行自动测试。我已经成功地点击了许多菜单和指向某一点的链接

在某一点上,我正在使用的网站会生成如下链接:

<U onclick="HourglassSubmitItem(document.all('PageName').value, '00000001Responsibility Code')">Responsibility Code</U>
成功找到上面的U标记。但是,当我将.click()添加到此xpath的末尾时,不会执行单击。但它也不会产生错误。所以,我的问题是,Selenium可以用来模拟对不是锚()标记的HTML标记的单击吗?如果是,怎么做

我还要说,我无法控制正在使用的页面,因此无法将更改为

我希望社区能提供任何指导

谢谢你的帮助


Chris

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


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


在这种情况下,您可以更喜欢JavaScript

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

JavaScriptExecutor executor = (JavaScriptExecutor)driver;

executor.ExecuteScript("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);

如果此答案解决了您的问题,请将其标记为已接受。谢谢如果此答案解决了您的问题,请将其标记为已接受。ThanksIt可能值得尝试单击周围的标记,或与此元素位于同一位置的附近标记,以防其中一个标记是应该接收单击的标记。可能值得尝试单击周围的标记,或与此元素位于同一位置的附近标记,以防万一,其中一个是应该收到点击的
WebElment  element = page.find_element_by_xpath("//u[contains(text(),'Responsibility Code')]")

JavaScriptExecutor executor = (JavaScriptExecutor)driver;

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