import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
public class test {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "/Users/alcodesmobility/Desktop/chromedriver");
WebDriver driver = new ChromeDriver();
driver.get("https://www.browserstack.com/");
Actions action = new Actions(driver);
WebElement element = driver.findElement(By.linkText("Get started free"));
action.moveToElement(element).click();
//using click action method
}
}
启动ChromeDriver 89.0.4389.23(61b08ee2c50024bab004e48d2b1b083cdbdac579参考文献/分支机构负责人/4389@{#294}(在端口24715上,只允许本地连接。请参阅https://chromedriver.chromium.org/security-considerations对于关于确保ChromeDriver安全的建议。ChromeDriver已启动成功地[1621548783.292][警告]:此版本的ChromeDriver尚未使用Chrome版本90进行测试。2021年6月1日下午3:49:43org.openqa.selenium.remote.Protocol握手创建会话信息:检测到的方言:W3C线程异常";主";java.lang.ClassCastException:类org.openqa.selenium.remote.RemoteWebElement不能强制转换为类org.openqa.selenium.interactions.internal.Locatable(org.openqa.selenium.remote.RemoteWebElement和org.openqa.selenium.interactions.internal.Locatable处于未命名状态加载程序"app"的模块(org.openqa.seselenium.interactions.Actions.moveToElement(Actions.java:387(在CronberrySignin.test.main(test.java:22(
我想您错过了完成向元素代码行的移动
试试这个:
action.moveToElement(element).click(element).build().perform();
不需要实现Actions类,元素就在页面加载的Selenium视口中。
请改用id。
driver.findElement(By.id("signupModalButton")).click();
阅读此处何时使用操作类
通过读取异常堆栈跟踪,看起来像是驱动程序问题。确保使用inline version of Selenium webdriver
、chromedriver
和chrome broswer
。