使用Selenium从WebPage删除Web元素

时间:2018-10-11 07:46:50

标签: c# vb.net selenium http

开始说我知道从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的帮助下,我更新了代码,现在可以使用了。 谢谢大家。

1 个答案:

答案 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();");
}