Selenium 如何识别具有动态id和名称的webelement?
我无法定义webelement,因为它有动态id和名称。在另一个iframe中存在iframe。第二个iframe的属性id和名称是动态的。我需要定义第二个iframe来打开它 请帮助我定义这个动态元素Selenium 如何识别具有动态id和名称的webelement?,selenium,selenium-webdriver,xpath,qwebelement,Selenium,Selenium Webdriver,Xpath,Qwebelement,我无法定义webelement,因为它有动态id和名称。在另一个iframe中存在iframe。第二个iframe的属性id和名称是动态的。我需要定义第二个iframe来打开它 请帮助我定义这个动态元素 WebElement chartFrameFirst = driver.findElement(By.xpath("(.//iframe)[1]")); driver.switchTo().frame(chartFrameFirst); click(By.xpath(".//d
WebElement chartFrameFirst = driver.findElement(By.xpath("(.//iframe)[1]"));
driver.switchTo().frame(chartFrameFirst);
click(By.xpath(".//div[@id=\"tv_chart_container\"]"));
WebElement chartFrameSecond = driver.findElement(By.xpath(".//iframe[@id=\"tradingview_1d329\"]"));
driver.switchTo().frame(chartFrameSecond);
我们可以使用contains()
,这是XPath表达式中使用的方法,如下所示
WebElement chartFrameSecond = driver.findElement(By.xpath(".//iframe[contains(@id,\"tradingview_\")]"));
我们可以将用户索引到iframe内部的切换帧
driver.switchTo().frame(0).switchTo().frame(0);
您可以找到帧数,然后切换到
int noofframes=driver.findelements(By.tagName(“iframe”)).size();
driver.switchTo().frame(1);
使用帧id切换到帧:
new WebDriverWait(driver,20).until(ExpectedConditions.frameToBeAvailableAndSwitchToIt((By.tagName(“iframe”)));
driver.switchTo().frame(1)代码>
希望有此帮助欢迎使用Stack Overflow!请阅读原因。粘贴代码并正确格式化。