gpt4 book ai didi

c# - 元素不可见

转载 作者:行者123 更新时间:2023-12-03 12:42:37 25 4
gpt4 key购买 nike

我正在尝试使用 Chrome WebDriver 登录网站。唯一的问题是您放置用户名的文本框似乎不可见。当我运行代码时,如果我手动单击用户名所在的框,那么程序将毫无问题地完成。如何使该元素可见以便我可以单击它?

当代码到达username.Click();时,我得到“元素不可见”。

static void Main(string[] args)
{
var driver = new ChromeDriver();
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
driver.Navigate().GoToUrl("http://contoso.com/");
var loginPopUp = wait.Until(d => driver.FindElement(By.XPath("//*[@id='user-menu']/li[2]/a")));
loginPopUp.Click();
var username = wait.Until(d => driver.FindElement(By.XPath("//*[@id='login']")));
const string script = "document.getElementById('login').style.visibility='visible';";
driver.ExecuteScript(script);
username.Click();
username.Clear();
username.SendKeys("someuser@gmail.com");
var password = wait.Until(d => driver.FindElement(By.XPath("//*[@id='password']")));
password.SendKeys("thepassword");
var login = wait.Until(d => driver.FindElement(By.XPath("//*[@id='popup-body']/div/div[3]/div[5]/a")));
login.Click();
}

最佳答案

用户名框不可见。出现在页面上需要时间吗?

您可以使用它使元素可见。

对于 google.com Logo :隐藏 Google Logo

document.getElementById('hplogo').style.display='none'

使 Google Logo 可见

document.getElementById('hplogo').style.display='block'

捕获测试中的屏幕截图以调试问题。

关于c# - 元素不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23479922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com