我正在使用beta.speedtest.net检查网络速度。我想使用Selenium自动化这个过程(也可以打开其他框架)。该自动化过程包含几个步骤
我如何进行
public void RunTheTest()
{
IWebDriver driver = new ChromeDriver();
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl("http://beta.speedtest.net");
driver.FindElement(By.LinkText("Change Server")).Click();
}
无法找到对我的流程至关重要的任何元素。
答案 0 :(得分:1)
试试这个:
driver.findElement(By.xpath("//a[@class='btn-server-select' and contains(text(), 'Change Server')]")).click();
答案 1 :(得分:1)
LinkText
在你的情况下不会起作用,因为文本包含前导和尾随空格。那些可能是非破坏性的空间
所以你必须使用包含或normalize-space
的xpath//a[normalize-space(text())='Change Server']
//a[contains(text(),'Change Server')]
如果你想要简单,那就去className
btn-server-select
因为只有一个元素具有这样的className