Rumah > Soal Jawab > teks badan
Menggunakan a.click(); adalah tidak sah, jelas ia akan berfungsi pada masa lain
而且就算那我获取了href 在用js打开也没反应 这是为什么呢
((JavascriptExecutor)driver).executeScript("window.open('"+href+"')");
((JavascriptExecutor)driver).executeScript("alert('"+href+"')");
alert能弹出
Tetapi window.open() tidak bertindak balas jika saya menaipnya terus pada konsol pada halaman web
習慣沉默2017-06-05 11:10:28
window.open() membuka tab baharu, anda perlu menukar pemegang. Berikut adalah dua kaedah untuk rujukan anda:
public static void changeWindow(WebDriver driver){
// 获取当前页面句柄
String handle = driver.getWindowHandle();
// 获取所有页面的句柄,并循环判断不是当前的句柄,就做选取switchTo()
for (String handles : driver.getWindowHandles()) {
if (handles.equals(handle))
continue;
driver.switchTo().window(handles);
}
}
public static void changeWindowTo(WebDriver driver,String handle){
for (String tmp : driver.getWindowHandles()) {
if (tmp.equals(handle)){
driver.switchTo().window(handle);
break;
}
}
}
Mengenai klik, ini mungkin kerana elemen itu tidak kelihatan secara eksplisit, atau perlu difokuskan, atau anda menggunakan Selenium secara tidak betul, tetapi disyorkan untuk mencuba js click