gpt4 book ai didi

java - 如何通过Selenium和Java根据html提取 'src'属性

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:38 24 4
gpt4 key购买 nike

我有一个 html 页面:

<video crossorigin="anonymous" class="" id="video" playsinline="true" 
src="https://df.dfs.bnt.com/
DEEAB832j06E9j413FjAA8Dj2zxc535DA2072E3jW01j15579/mp4-
hi/jFNf2IbBoGF28IzyU_WqkA,1535144598/zxxx/
contents/1/8/1a57ae021173751b468cca136e0192.mp4?
rnd=0.38664488150364296">
</video>

通过 Selenium WebDriver 我尝试获取视频网址:

By videoLocator = By.id("video");
WebElement videoElement = driver.findElement(videoLocator);
String videoUrl = videoElement.getAttribute("src");

但是videoUrl - 始终返回""(为空)。

但是例如:

videoElement.getAttribute("crossorigin")

返回正确答案:“匿名”。

我尝试使用 javascript 从 src 属性获取此 url:

String videoUrl = (String) js.executeScript("return document.getElementById( 'video' ).getAttribute( 'src' );");

但结果仍然是一样的:""

我猜问题出在crossorigin="anonymous",但是该怎么办呢?如何获取 src 值?

抱歉,我的英语不好。

最佳答案

根据您提供的 HTML,您需要引发WebDriverWait,并且您可以使用以下解决方案:

WebElement videoElement = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//video[@id='video' and @crossorigin='anonymous'][starts-with(@src,'http')]")));
System.out.println(videoElement.getAttribute("src"));

关于java - 如何通过Selenium和Java根据html提取 'src'属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52006417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com