Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
Java 正在查找在元素中定位图标的选项_Java_Selenium - Fatal编程技术网

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\")");