这是代码 我想点击第一家医院“亚伯拉罕林肯纪念医院”。 无法点击下图的第一个链接并抛出异常 第一次在搜索框中输入“ab”以搜索以 ab 开头的医院名称 然后它打开第二个窗口来选择医院,我的代码在哪里不起作用
// Enter Hospital
element = driver.FindElement(By.XPath("//input[contains(@placeholder,'Search Hospitals...')]"));
element.SendKeys("ab");
System.Threading.Thread.Sleep(2000);
element.SendKeys(Keys.Enter);
System.Threading.Thread.Sleep(2000);
((IJavaScriptExecutor)driver). ExecuteScript("argument[0].click();", element);
System.Threading.Thread.Sleep(2000);
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(60));
Actions actions1 = new Actions(driver);
wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("//a[contains(@title,'Abraham Lincoln Memorial Hospital')]"))).Click();
actions1.MoveToElement(driver.FindElement(By.XPath("//a[contains(@title,'Abraham Lincoln Memorial Hospital')]"))).Build().Perform();
//actions1.Perform();
// Actions actions2 = new Actions(driver);
// actions2.MoveToElement(driver.FindElement(By.LinkText("//a[contains(@title,'Abraham Lincoln Memorial Hospital')]"))).Click();
// element2 = driver.FindElement(By.XPath("//a[contains(@title,'Abraham Lincoln Memorial Hospital')]"));
//((IJavaScriptExecutor)driver).ExecuteScript("argument[0].click();", element2);
// element2.Click();
答案 0 :(得分:0)
指向 html 的链接会很有帮助,
但您可以尝试以下xpath
:
//a[contains(text(),'Abraham Lincoln Memorial Hospital')]