有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法使用XPath为站点160by2定位WebElements mobile和message box。com和way2sms。通用域名格式

无法使用XPath为网站160by2定位移动和消息框的WebElements。com和way2sms。com

160by2的HTML。com:

<input autocomplete="off" class="ui-autocomplete-input" placeholder="Enter Mobile Number or Name" id="BPLZWI" name="BPLZWI" onfocus="javascript:show('contacts');" type="text">
<textarea onkeyup="javascript:countChars();" onkeydown="javascript:countChars();" onfocus="javascript:show('msgs');" id="sendSMSMsg" name="sendSMSMsg" cols="48" rows="5" placeholder="Enter your message" class="sms-msg-tex"></textarea>

我提取了下面的XPath表达式,但它们失败了(但Selenium IDE识别了XPath)

driver.findElement(By.xpath("/input[@placeholder='Enter Mobile Number or Name' and @id=@name]")).sendKeys(s1);
driver.findElement(By.xpath("//textarea[@placeholder='Enter your message' and @id=@name]")).sendKeys(s2);

way2sms的HTML。com:

<input type="text" onchange="javascript:dispLocMob(this);" onkeydown="javascript:dispLocMob(this);" onkeyup="javascript:dispLocMob(this);" value="" maxlength="10" placeholder="Mobile Number" name="mobile" id="mobile">
<textarea onkeyup="javascript:countChars('message', 'msgLen', 140)" onkeydown="javascript:countChars('message', 'msgLen', 140, 'sndsms')" rows="5" cols="45" name="message" placeholder="Type your message here or use SMS greetings" id="message"></textarea>

我提取了下面的XPath表达式,但它们失败了(但Selenium IDE识别了XPath)

driver.findElement(By.xpath("//input[@id='mobile' and @placeholder='Mobile Number']")).sendKeys(s1);
driver.findElement(By.xpath("//textarea[@id='message' and @name='message']")).sendKeys(s2);

在从Excel文件读取后,我将参数传递到文本框和文本区域


共 (1) 个答案

  1. # 1 楼答案

    输入输入时,占位符值将更改。所以必须使用id、name或xpath。Xpath是更好的选择

    类似这样的东西(way2sms.com):

     driver.findElement(By.xpath("//input(@name='mobile')").sendKeys(s1);
     driver.findElement(By.xpath("//input(name='message')").sendKeys(s2);
    

    或者

     driver.findElement(By.xpath("//input(@id='mobile')").sendKeys(s1);
     driver.findElement(By.xpath("//input(@id='message')").sendKeys(s2);