我是Javascript和Selenium的新手,所以请耐心等待我!
我如何找到元素'接受'然后点击它?
我尝试过几种组合:
var buttons =[];
buttons = driver.findElement(By.className("eula-button")) (I cannot call buttons.length with this method to loop through elements)
和
driver.findElement(By.xpath(".//button[contains(text(),'Accept')]")).click();
感谢您的帮助!
答案 0 :(得分:0)
尝试使用像这样的xpath -
var button = driver.findElement(By.xpath("//button[@class='eula-button']"));
答案 1 :(得分:0)
您使用的xpath选择器可以正常工作。
driver.findElement(By.xpath(".//button[contains(text(),'Accept')]")).click();
或者你可以使用带有CSS的索引,假设“接受”按钮总是出现在“拒绝”之前。
driver.findElement(By.cssSelector(".eula-button-container button.eula-button:nth-of-type(1)")
考虑到你的第一个使用XPath的选择器不起作用,我猜这些按钮都在iframe中,正如@Grasshopper在评论中指出的那样。
在与按钮交互之前,您必须切换到框架,然后执行findElement