第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Selenium 無法定位 iframe 元素

Selenium 無法定位 iframe 元素

青春有我 2023-06-21 15:44:56
我想在 iframe 中找到輸入元素,但是 selenium 無法找到它。我使用了 和switchTo().frame(id),switchTo().frame(index)但都不起作用。這是我的代碼:driver.switchTo().defaultContent(); WebElement?ele?=?driver.findElement(By.xpath("http://iframe[contains(id,?'braintree-hosted-field-number')]")); driver.switchTo().frame(ele);錯(cuò)誤信息:沒有這樣的元素:無法定位元素:{"method":"xpath","selector":"http://iframe[contains(id, 'braintree-hosted-field-number')]"}(會(huì)話信息:chrome= 76.0.3809.132)
查看完整描述

4 回答

?
慕村225694

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊

嘗試WebDriverWait與 一起使用frameToBeAvailableAndSwitchToIt,如下所示:

new WebDriverWait(driver, 20).until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.id("braintree-hosted-field-number")));

導(dǎo)入后:

import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.support.ui.ExpectedConditions;


查看完整回答
反對(duì) 回復(fù) 2023-06-21
?
Qyouu

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊

在 iframe 中,我們可以使用 name、id 或 index 進(jìn)行切換

driver.switchTo().frame("name or ID");    
driver.switchTo().frame(index);

一幀-直接切換到該幀(用上面的代碼)

多幀- 切換到確切的幀

嵌套框架- 切換到父框架(父框架),然后切換到子框架(內(nèi)框架

driver.switchTo().frame("parent frame");
driver.switchTo().frame("child frame");

切換到帶 ID 或名稱的框架如果您只有一個(gè) iframe,則直接切換到框架,否則切換到父框架,然后指向子框架。

driver.switchTo().frame("braintree-hosted-field-number");

切換到帶有索引的框架查看您的 html,看起來好像有一個(gè) iframe,然后索引以“ 0 ”開頭。 示例:如果您有 5 個(gè) iframe,則索引將為 0 1 2 3 4

driver.switchTo().frame(0);


查看完整回答
反對(duì) 回復(fù) 2023-06-21
?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊

看來你很親密。要切換到所需的,<iframe>您需要:

  • 所需frameToBeAvailableAndSwitchToIt().

  • 您可以使用以下任一定位器策略:

    • css選擇器

      new?WebDriverWait(driver,?20).until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.xpath("http://iframe[@id='braintree-hosted-field-number'?and?contains(@src,?'hosted-fields-frame')]")));
    • 路徑

      new?WebDriverWait(driver,?20).until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.cssSelector("iframe#braintree-hosted-field-number[src*='hosted-fields-frame']")));
查看完整回答
反對(duì) 回復(fù) 2023-06-21
?
喵喔喔

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊

您可以委托此手動(dòng) iframe 切換并僅搜索您需要的元素。

SearchByFrames?searchInFrame?=?searchFactory.search(()?->?driver.findElement(By.tagName("body")));
Optional<WebElement>?elem?=?searchInFrame.getElem();

它會(huì)在所有可用的 iframe 中尋找您的元素,它運(yùn)行穩(wěn)定且快速。


查看完整回答
反對(duì) 回復(fù) 2023-06-21
  • 4 回答
  • 0 關(guān)注
  • 367 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)