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

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

如何用 selenium webdriver 將文本背景標(biāo)記為藍(lán)色,類似于將鼠標(biāo)拖到文本上)?

如何用 selenium webdriver 將文本背景標(biāo)記為藍(lán)色,類似于將鼠標(biāo)拖到文本上)?

C#
米琪卡哇伊 2022-11-13 14:41:31
我有一個(gè) HTML 元素,如下所示:<td title="11607" style="text-overflow:ellipsis;white-space:nowrap;">11607</td>我用來查找元素的定位器是:string number= "11607";IWebElement element = DriverUser.FindElement(By.XPath(string.Format("//*[contains(text(),'{0}')]" , number)));我想使用 selenium 網(wǎng)絡(luò)驅(qū)動(dòng)程序標(biāo)記文本 11607,在搜索了很長(zhǎng)時(shí)間后,我找到了 2 個(gè)解決該問題的方法;第一個(gè)解決方案似乎是最合適的,但對(duì)我不起作用。我想知道是因?yàn)?HTML 標(biāo)簽是 TD 還是因?yàn)樗皇钦_的解決方案。另一個(gè)解決方案有效,但我想改進(jìn)它。我將在下面詳細(xì)說明:第一個(gè)解決方案是:(取自Highlight text using Selenium)public static void HighlightText(this IWebElement element)        {            element.Click();            Actions actions = new Actions(Driver);            actions.SendKeys(Keys.Home).Build().Perform();            int length = element.Text.Length;            actions.KeyDown(Keys.LeftShift);            for(int i = 0 ; i < length ; i++)            {                actions.SendKeys(Keys.ArrowRight);            }            actions.KeyUp(Keys.LeftShift);            actions.Build().Perform();        }當(dāng)我運(yùn)行它時(shí),它什么也沒做。也許是因?yàn)槲业臉?biāo)簽是 TD 標(biāo)簽而不是 INPUT 或類似的東西?第二種解決方案是:(取自https://www.edgewordstraining.co.uk/2018/02/23/highlighting-web-elements/,并出現(xiàn)在其他地方)        public static void HighlightTextJS(this IWebElement element)        {            var jsDriver = ( IJavaScriptExecutor ) Driver;            string highlightJavascript = @"$(arguments[0]).css({ ""background"" : ""DodgerBlue""});";            jsDriver.ExecuteScript(highlightJavascript , new object[] { element });        }它標(biāo)記了元素的所有背景,而不僅僅是字母。我想準(zhǔn)確地模擬在文本上拖動(dòng)鼠標(biāo)光標(biāo)。根據(jù)隨附的屏幕截圖,我得到了像第一行(11604)這樣的視圖,但對(duì)像第二行(11602)這樣的視圖感興趣也許有一個(gè)屬性我可以添加到 CSS 來模擬它?
查看完整描述

1 回答

?
白板的微信

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

我為您找到了解決方案的 C# 語法。

new Actions(Driver).MoveToElement(element, 1, 1).ClickAndHold().MoveToElement(element, element.Size.Width-1, 1).Release().Perform();

在您的嘗試中,它從元素的中心開始,直到從元素的中心計(jì)算出的元素寬度。但這應(yīng)該從元素的左上角開始,直到元素的寬度。
希望這對(duì)你有用。


查看完整回答
反對(duì) 回復(fù) 2022-11-13
  • 1 回答
  • 0 關(guān)注
  • 145 瀏覽

添加回答

舉報(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)