2016-03-07 92 views
-4

嗨我正在使用way2sms網站和發送短信屏幕我無法使用硒webdriver輸入手機號碼字段中的手機號碼。 HTML代碼:`leniu無法在硒webdriver的窗體文本框中輸入值

form id="smsFrm" name="smsFrm" method="post"> 
<input id="ssaction" type="hidden" name="ssaction" value="ss"/> 
<input id="Token" type="hidden" name="Token" value="F448FDFD10E9288F9B4A204EF40EB29A.w803"/> 
<div id="smilebox" style=" display:none;"> 
<div class="Sms fl"> 
<label>Mobile Number</label> 
<div class="m91"> 
<span>+91</span> 
<input id="mobile" type="text" onchange="javascript:dispLocMob(this);" onkeydown="javascript:dispLocMob(this);" onkeyup="javascript:dispLocMob(this);" value="" maxlength="10" placeholder="Mobile Number" name="mobile"/> 
</div>` 

硒代碼:

`obj.findElement(By.xpath("//*[@id='sendSMS']/a")).click(); 
Thread.sleep(5000); 
//obj.findElement(By.id("mobile")).sendKeys("8186867724"); 
obj.findElement(By.xpath("//*[@id='mobile']")).sendKeys("1234567890");` 
+0

你的代碼在哪裏?和HTML? – Guy

+0

你可以檢查手機號碼在way2sms.com的html代碼,輸入發送短信的屏幕,代碼是 obj.findElement(By.xpath(「// * [@ id ='sendSM/a」))。click() ; \t \t //element.findElement(By.id("mobile")).sendKeys("8186867724「); //obj.findElement(By.xpath("//div//div//form[@id='smsFrm')//div//div//input[@placeholder='Mobile Number']「)) 。點擊(); obj.findElement(By.xpath(「// [@ id ='mobile']」))。sendKeys(「1234567890」); –

+0

*您可以在way2sms.com *上查看html代碼。這不是**它是如何工作的。如果你想在這裏得到人們的幫助,你需要把你的問題(而不是註釋)放在相關的代碼和html中。 – Guy

回答

0

你的元素有一個ID,它總是使用Selenium解決一個HTML元素的最佳方式 - 很簡單,但仍然絕對是獨一無二的(公元前否則它將不是有效的HTML)。因此,嘗試:

findElement(By.id("username")) 

完全C#示例(應該是在Java中類似):

static void Main() 
{ 
    var driver = new ChromeDriver(); 
    driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); 
    driver.Navigate().GoToUrl("http://site23.way2sms.com/content/index.html"); 
    IWebElement element = driver.FindElement(By.Id("username")); 
    element.SendKeys("000"); 
} 
+0

不能正常工作 –

+0

糟糕!我寫了「#username」而不是「用戶名」,這是CSS表示法。抱歉!我在答案中糾正了這一點。 –

+0

現在也不行了 –

0

我切換到幀,並得到了它檢測。 (driver.findElement(By.id(「frame」))); (「mobile」))。sendKeys(「123456」);