单击带有 Selenium (RSelenium) 的自定义元素
Clicking on a custom element with Selenium (RSelenium)
我需要单击具有以下唯一标识符的元素:
<mat-icon
class="mat-icon notranslate icon-arrow-down-tail mat-icon-no-color"
fontset="icon-arrow-down-tail"
role="img"
aria-hidden="true">
::before
</mat-icon>
我认为这是在 RSelenium 中 select 自定义元素的正确方法:
down <- remDr$findElement(using="xpath", value="//mat-icon[@class='mat-icon.notranslate.icon-arrow-down-tail.mat-icon-no-color']")
元素位于 iframe 中。我已经切换到 iframe,但我想可能还会有更复杂的事情发生。我正在尝试缩小问题的根源。
所以,我的问题是:我是否正确 select 自定义元素?如果没有,我该怎么做?如果我知道我 select 正确地编辑了它,我就能找到调试的其他地方...
(网站是 proprietary/requires 登录名,否则我会分享它)。
如果要提取值的元素在iframe中,需要先切换焦点,然后才能通过ID/Class
继续获取元素
例如,我曾经从名为 "https://forexsb.com/historical-forex-data"
的站点单击 Iframe 内的按钮
iframe_detect <- remDr$findElements(using = "xpath", value = "//iframe[@id='data-app-frame']")
remDr$switchToFrame(iframe_detect[[1]])
load_data_element <- remDr$findElement(using="xpath", value="//button[@id='btn-load-data']")
load_data_element$clickElement()
在上面你使用的定义Class元素:
down <- remDr$findElement(using="xpath", value="//mat-icon[@class='mat-icon.notranslate.icon-arrow-down-tail.mat-icon-no-color']")
我想这是一个正确的完整 class 标识符,因为 class 有多个名称与点运算符联合。但根据我的经验,如果使用这些 can out 不起作用,我只使用点运算符
之前的第一个 class 名称
所以如果我必须重写(注意:只有在没有更多元素具有相同的 class 名称时才有效,否则它可能会占用整个元素匹配 Class):
down <- remDr$findElement(using="xpath", value="//mat-icon[@class='mat-icon']")
我需要单击具有以下唯一标识符的元素:
<mat-icon
class="mat-icon notranslate icon-arrow-down-tail mat-icon-no-color"
fontset="icon-arrow-down-tail"
role="img"
aria-hidden="true">
::before
</mat-icon>
我认为这是在 RSelenium 中 select 自定义元素的正确方法:
down <- remDr$findElement(using="xpath", value="//mat-icon[@class='mat-icon.notranslate.icon-arrow-down-tail.mat-icon-no-color']")
元素位于 iframe 中。我已经切换到 iframe,但我想可能还会有更复杂的事情发生。我正在尝试缩小问题的根源。
所以,我的问题是:我是否正确 select 自定义元素?如果没有,我该怎么做?如果我知道我 select 正确地编辑了它,我就能找到调试的其他地方...
(网站是 proprietary/requires 登录名,否则我会分享它)。
如果要提取值的元素在iframe中,需要先切换焦点,然后才能通过ID/Class
继续获取元素例如,我曾经从名为 "https://forexsb.com/historical-forex-data"
的站点单击 Iframe 内的按钮iframe_detect <- remDr$findElements(using = "xpath", value = "//iframe[@id='data-app-frame']")
remDr$switchToFrame(iframe_detect[[1]])
load_data_element <- remDr$findElement(using="xpath", value="//button[@id='btn-load-data']")
load_data_element$clickElement()
在上面你使用的定义Class元素:
down <- remDr$findElement(using="xpath", value="//mat-icon[@class='mat-icon.notranslate.icon-arrow-down-tail.mat-icon-no-color']")
我想这是一个正确的完整 class 标识符,因为 class 有多个名称与点运算符联合。但根据我的经验,如果使用这些 can out 不起作用,我只使用点运算符
之前的第一个 class 名称所以如果我必须重写(注意:只有在没有更多元素具有相同的 class 名称时才有效,否则它可能会占用整个元素匹配 Class):
down <- remDr$findElement(using="xpath", value="//mat-icon[@class='mat-icon']")