Java 正在查找在元素中定位图标的选项
我试着检查眼睛图标是否在这里的标签标题,有办法找到它吗 这是这张照片的图像 到目前为止,我使用的定位器是元素本身,而不是眼睛图标Java 正在查找在元素中定位图标的选项,java,selenium,Java,Selenium,我试着检查眼睛图标是否在这里的标签标题,有办法找到它吗 这是这张照片的图像 到目前为止,我使用的定位器是元素本身,而不是眼睛图标 .map-tab--active span 或 谢谢您可以使用getComputedStyle获取图像url: WebDriverWait wait = new WebDriverWait(driver, 20); JavascriptExecutor js = (JavascriptExecutor) driver; driver.get("https://ma
.map-tab--active span
或
谢谢您可以使用
getComputedStyle
获取图像url:
WebDriverWait wait = new WebDriverWait(driver, 20);
JavascriptExecutor js = (JavascriptExecutor) driver;
driver.get("https://maps.b144.co.il/");
WebElement icon = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("span.business-in-area")));
String iconUrl = (String) js.executeScript("return window.getComputedStyle(arguments[0], ':before').getPropertyValue('content');", icon);
结果:
url(“”)
TestNG断言:
Assert.assertEquals(iconUrl, "url(\"https://maps.b144.co.il/images/icons/f80af126.white_eye_icon.png\")");
共享urlplease@Sers什么是区域内业务和跨区域业务?它们是相同的CSS定位器吗?这就是所谓的伪元素?你是怎么进去的?感谢您
span。区域内的业务
css选择器获取span元素。伪元素内容获取JavaScript和window.getComputedStyle
。您可以在中阅读有关伪元素的内容。选择器之间有什么区别吗span.business in area
.business in area
以及为什么这样的事情:driver.findelelement(elem).getCssValue(“content”)
不起作用?在这种情况下,这些选择器之间没有区别。两者都可以使用。如果使用getCssValue(“content”)
并将获得normal
,则这是.business in area
元素的css样式,而不是pseudo。您必须使用getComputedStyle(元素,'::before')
JS代码执行iti。查看一些示例,您可以使用更简单的代码js.executeScript(“return getComputedStyle(参数[0],'::before').content”,图标)
。用铬测试
Assert.assertEquals(iconUrl, "url(\"https://maps.b144.co.il/images/icons/f80af126.white_eye_icon.png\")");