开始说我知道从WebPage中删除WebElement是一个坏习惯。
出于测试目的,我想了解我是否可以使用Selenium自动化功能“修改”我在webBrowser上“本地(因此在客户端)加载”的网页。
在此示例中,我想加载“ Google”主页,并尝试从我的web浏览器中删除“ Google”标题。
我尝试使用JavaScriptExecutor,但失败。
这是代码。
let latestSearch = "";
function getData(input) {
return new Promise((resolve, reject) => {
$.post({
url: baseurl,
data: input
}).done(function (result) {
resolve({ code: 200, data: result, search: input.search });
}).fail(function (result) {
resolve({ code: 400, data: result, search: input.search });
});
});
}
$("#searchText").on("keyup", function() {
let search = $.trim($(this).val());
latestSearch = search;
let result = await getData({ search: search });
if (result.search === latestSearch) {
// do something with the data...
}
});
有帮助吗?
已更新,在@ Infern0和@ali的帮助下,我更新了代码,现在可以使用了。 谢谢大家。
答案 0 :(得分:1)
我对Vb.Net语法不太熟悉,但是下面的C#版本应该可以工作;
private void RemoveGoogleLogo()
{
var driver = new ChromeDriver(@"<<chromePath>>")
{
Url = "https://www.google.co.uk/webhp"
};
driver.Navigate();
var driverWait = new WebDriverWait(driver, TimeSpan.FromSeconds(5));
driverWait.Until(x => x.FindElement(By.Id("lga")).Displayed);
driver.ExecuteScript("document.getElementById('lga').remove();");
}