C# 我找不到伪注释的Xpath
我只想知道如何获取pseudo元素的Xpath实际上,在这里我想。单击这个Div上的CLick(),它的角色是button,所以我尝试使用Div类名创建Xpath,它正在查找元素,但没有单击,我必须单击这个::after,但我无法获取Xpath,因为它是一个pseudo元素C# 我找不到伪注释的Xpath,c#,selenium,C#,Selenium,我只想知道如何获取pseudo元素的Xpath实际上,在这里我想。单击这个Div上的CLick(),它的角色是button,所以我尝试使用Div类名创建Xpath,它正在查找元素,但没有单击,我必须单击这个::after,但我无法获取Xpath,因为它是一个pseudo元素 <div id=":l6" class="T-I J-J5-Ji amD T-I-awG T-I-ax7 T-I-Js-Gs L3" role="button" tabindex="0"
<div id=":l6" class="T-I J-J5-Ji amD T-I-awG T-I-ax7 T-I-Js-Gs L3"
role="button" tabindex="0"
data-tooltip="Older"
aria-label="Older"
style="user-select: none;"
xpath="1">
<span class="amF"
aria-hidden="true">
</span>
<img class="amJ T-I-J3"
src="images/cleardot.gif" alt="">
::after
</div>
::之后
我读过的内容
因此,您可以使用try-using操作
我这里有一个使用CssSelector的示例(我没有您可以添加的完整路径):
Actions action = new Actions(Session.Driver);
action.MoveToElement(FindElement(By.CssSelector("div.img::after"))).ContextClick().Build().Perform();
最后,您可以将JavaScript与ExecuteScript
一起使用,如下所示:
var afterElem = driver.FindElement(By.CssSelector("div.img"));
var buttonAfter = driver.ExecuteScript(
"return window.getComputedStyle(arguments[0],'::after');"
, afterElem);
buttonAfter.click();
您需要使用CssSelector或使用XPath
希望这对你有帮助 你能分享完整的HTML至少上面的几个元素吗?你能告诉我如何添加屏幕截图,这样我就可以解释你只是复制过去的DOM。。。或者提供url…请花一分钟在您的问题中添加大写字母、标点符号等。现在它看起来像一张赎金便笺,很难阅读。未知错误:window.getComputedStyle(…)。单击不是一个函数\n(会话信息:chrome=74.0.3729.157)\n(驱动程序信息:chromedriver=2.42.591088(7B2B2DCA23CA0862F674758C9A3933E685C27D5),平台=Windows NT 6.3.9600 x86_64)现在这是执行脚本后的错误您说得对了!我的错!我修复了它现在应该可以工作了。。。我没有检查它,但这个答案应该给你一个如何点击它的想法…Nooo Broo我仍然不明白如何点击伪元素正如我在答案中指出的那样,最好的方法是使用
操作,我没有HTML或网站的链接,所以我不知道我能帮到你的不仅仅是推荐在没有工作代码的情况下做什么。。。