我正在尝试访问容器div
的background-image:url(“....”)
属性并获取图像URL。
问题是容器div最初是隐藏的,而图像url是动态添加的,并且容器是可见的。
当我尝试使用PhotoContainer.getCSSValue(“background-image”);
访问元素时,它返回给我none
。
html代码为:
<div id="photo_container" style="background-image: url("res/images/840x460/287/28702560.jpg");"></div>
此分区的CSS为:
background-image: url("res/images/840x460/287/28702560.jpg");
display: none;
但是,使用下面的代码可以获得url字符串:
WebDriverWait wait = new WebDriverWait(driver, 20);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("photo_holding")));
// Now div is visible so get the attribute
WebElement photoContainer = driver.findElement(By.id("photo_holding"));
String imgUrl = photoContainer.getCssValue("background-image");
System.out.println(imgUrl);
driver.quit();
for(int i=0;i<=slideCount;i++){
WebDriverWait wait = new WebDriverWait(driver, 20);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("photo_holding")));
// Now div is visible so get the attribute
WebElement photoContainer = driver.findElement(By.id("photo_holding"));
String imgUrl = photoContainer.getCssValue("background-image");
System.out.println(imgUrl);
Thread.sleep(2000);
}
使用以下代码动态添加图像容器“photo_holding”
$('<div id="photo_holding"></div>').insertAfter("#photo_container");$("#photo_holding").css("background-image","url("+slideshow_photos[o]+")");
$("#photo_container").fadeOut(2000,function() {$(this).remove();$("#photo_holding").attr("id","photo_container");
ImageURLs存储在SlideShow_Photos[]
中,对吗?如果我们读了它,我们就能得到我们所需要的。
根据使用Selenium WebDriver阅读JavaScript变量的第三个答案,如果需要了解幻灯片的数量,那么我们可以在循环中获得它们String result=(String)js.executescript(“return slideshow_photos[”+i+“]”);
希望这能对你有所帮助。
有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了。例如,下面的情况: Python 页面主要通过“display:none”来控制整个下拉框不可见。这个时候如果直接操作这个下拉框,就会提示: from selenium import webdriverfrom selenium.webdriver.support.select import Selectim
本文向大家介绍js获取隐藏元素的宽高,包括了js获取隐藏元素的宽高的使用技巧和注意事项,需要的朋友参考一下 获取隐藏元素(display:none)的物理尺寸 问题及场景 假如我们有这样一个输入框,点击能展开选择。如下图: 在这里输入框和下方的展开区域是分离的,独立的两个控件!初始状态下面的可选框是隐藏的(ng-show=false) 展开区域中可折叠组件accordion(对应图中省份,排序字段
问题内容: 我正在尝试自动执行Google云端硬盘中的上传文件功能。 用于传递参数的元素以高度-0px隐藏。 用户操作均不会使该元素可见。因此,我需要一种变通方法来在不可见的元素上单击。 上述元素的xpath是- 我在用 例外- 元素当前不可见,因此可能无法与之交互。 我尝试使用JavascriptExecutor。但是找不到确切的语法。 问题答案: 试试这个: 上面的那堆将改变文件输入控件的可见
问题内容: 嗨,我想知道如何使用Selenium WebDriver单击隐藏元素和/或禁用元素。 我知道使用selenium1可以执行以下操作: 这将起作用,但是对于selenium2(WebDriver),则不起作用。我不想使用jquery来启用或显示隐藏字段或JavaScript。这是因为大多数测试都使用xpath。 还是我只需要保留旧的selenium,就可以单击隐藏的字段? 问题答案: 使
我有具体的情况,从检查元素在谷歌浏览器我有这个: 我想根据获取文本,但问题是,当我单击查看页面源时,这是完全隐藏的。 我试试这个: 问题: OpenQA.Selenium.NoSuchElment异常未处理 HResult=-2146233088 消息 = 没有这样的元素: 无法找到元素: {“方法”:“css 选择器”,“选择器”:“[数据-创建者-ids='anon'anon']”} (会话信
我正在尝试从以下网站使用Selenium与Java(3.3.0和Java版本“1.8.0_66”)点击一个日历。 https://www.cathaypacific.com/cx/en_us.html 要点击的目标-飞行-单向-“离开”按钮不管我尝试了什么可能的选项-by.id、by.xpath和Actions、EventFiringMouse等等,这个按钮根本不会被点击。 null null }