1
私のプロフィールにログインしようとしていますが、パスワードを追加しようとすると問題が発生します。パスワードボックスにカーソルが表示されますが、キーを送信しようとすると例外がスローされます。これには何らかのセキュリティ上の理由がありますか?自動化が行われないように、パスワードはhtml/xml内に隠されていますか? 1は次のように動作している - 2パスワード入力があり、セレンがテキストをパスワードフィールドに送信
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class mainTester {
static WebDriver driver;
public static void main(String[] args) throws InterruptedException{
setUp();
}
public static void setUp() throws InterruptedException {
// Optional, if not specified, WebDriver will search your path for chromedriver.
System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
driver = new ChromeDriver();
driver.get("http://www.google.com/xhtml");
// Thread.sleep(5000); // Let the user actually see something!
WebElement searchBox = driver.findElement(By.name("q"));
searchBox.sendKeys("C programming forum");
searchBox.submit();
Thread.sleep(5000);
driver.findElement(By.linkText("C Board - Cprogramming.com")).click();
Thread.sleep(5000); // Let the user actually see something!
WebElement userEnter = driver.findElement(By.name("vb_login_username"));
userEnter.sendKeys("myusername");
WebElement userEnter2 = driver.findElement(By.name("vb_login_password_hint"));
userEnter2.sendKeys("mypassword");
// searchBox.submit();
Thread.sleep(5000); // Let the user actually see something!
System.out.println("Finished");
//driver.quit();
}
}
HTMLはとても
<input type="text" class="textbox default-value" tabindex="102" name="vb_login_password_hint" id="navbar_password_hint" size="10" value="Password" style="display: inline;">
のようなもので、エラーが
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: cannot focus element
素晴らしいです。なぜそれがこのようなものなのか知っていますか?これはセキュリティ上の目的ですか? –
@ scarecrow-ええ、ウェブを掻くボットの簡単な対策に似ています。 – alecxe