我试图通过Google Chrome中的Selenium单击“记录”按钮。但是我不能。找不到元素。我尝试使用id和xpath。他们都没有工作。
WebElement record = driver.findElement(By.id("record-button"));
record.click();
HTML代码是
<template id="profiling-view-template">
<tr-ui-b-info-bar-group></tr-ui-b-info-bar-group>
<x-timeline-view-buttons>
<button id="record-button">Record</button>
<button id="save-button">Save</button>
<button id="load-button">Load</button>
</x-timeline-view-buttons>
<tr-ui-timeline-view>
<track-view-container id="track_view_container"></track-view-container>
</tr-ui-timeline-view>
</template>
任何线索都会受到赞赏。
答案 0 :(得分:1)
我能够以此访问该对象
WebElement root1 = driver.findElement(By.tagName("tr-ui-timeline-view"));
WebElement shadowRoot1 = expandRootElement(root1);
WebElement record1 = shadowRoot1.findElement(By.id("record-button"));
record1.click();
public WebElement expandRootElement(WebElement element) {
WebElement ele = (WebElement) ((JavascriptExecutor) driver).executeScript("return arguments[0].shadowRoot",
element);
return ele;
}