目前,我在为网页定位伪元素时遇到了问题。我已经检查了其他文章使用javascript,并尝试过,但它仍然没有得到它。下面是html的屏幕截图,以及我为获得属性并能够单击它而编写的代码。你的帮助将是需要的人
<div class="article-actions" xpath="1"><app-article-meta><div class="article-meta"><a href="/profile/test1234"><img src="https://static.productionready.io/images/smiley-cyrus.jpg"></a><div class="info"><a class="author" href="/profile/test1234"> test1234 </a><span class="date"> June 29, 2021 </span></div><span><a class="btn btn-sm btn-outline-secondary" href="/editor/sdsd-r6g7gi"><i class="ion-edit"></i> Edit Article </a><button class="btn btn-sm btn-outline-danger disabled"><i class="ion-trash-a"></i> Delete Article </button></span><span hidden=""><app-follow-button><button class="btn btn-sm action-btn btn-outline-secondary"><i class="ion-plus-round"></i> Follow test1234
</button></app-follow-button><app-favorite-button><button class="btn btn-sm btn-outline-primary"><i class="ion-heart"></i> Favorite Article <span class="counter">(0)</span></button></app-favorite-button></span></div></app-article-meta></div>WebElement pseudoEle = driver.findElement(By.xpath("//button//i[@class=\"ion-trash-a\"]/parent::button"));
String display = ((JavascriptExecutor)driver).executeScript("return window.getComputedStyle(arguments[0], ':before').getPropertyValue('content');",pseudoEle).toString();
System.out.println(display);我还需要能够点击元素。注意,xpath返回页面上两个相同的伪元素。
发布于 2021-07-12 14:21:14
在一家测试公司工作时,我们每天都面临着挑战,特别是在自动化方面。JavaScript在应对这些挑战时有点棘手。请尝试以下语法并尝试获取元素。
String script = "return window.getComputedStyle(document.querySelector('.btn.btn-sm.btn-outline-primary'),':after').getPropertyValue('content')";
IJavaScriptExecutor js = (IJavaScriptExecutor)_driver;
String content = (String) js.ExecuteScript(script);这里的内容包含必需的元素。
https://sqa.stackexchange.com/questions/47723
复制相似问题