如何点击比较(有onclick)
<button type="button" data-toggle="tooltip" title="" onclick="compare.add('48');" data-original-title="Compare this Product"><i class="fa fa-exchange"></i></butto
n的&GT;
如何比较我的所有搜索结果?
答案 0 :(得分:2)
你可以试试这个:
package pkYourPackage;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
// http://demo.opencart.com/index.php?route=product/category&path=24
public class OpenCart_StackOverflow {
static WebDriver driver;
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:/.....put_ path/chromedriver.exe");
driver = new ChromeDriver();
driver.get("http://demo.opencart.com/index.php?route=product/category&path=24");
try{Thread.sleep(5000);}catch(Exception e){}
List<WebElement> list = driver.findElements(By.xpath("//button[contains(@data-original-title,'Compare this')]/i"));
for(int i = 0 ; i < list.size() ; i++){
list.get(i).click();
try{Thread.sleep(1500);}catch(Exception e){}
}
try{Thread.sleep(1500);}catch(Exception e){}
// click on 'product comparison' to compare
((JavascriptExecutor)driver).executeScript("arguments[0].click();",driver.findElement(By.xpath("//*[contains(text(),'product comparison')]")));
try{Thread.sleep(10000);}catch(Exception e){}
driver.close();
driver.quit();
}
}
答案 1 :(得分:0)
我做了这样的事:
public void count(){
List <WebElement> button = driver.findElements(By.xpath("//*[@data-original-title='Compare this Product']"));
for(WebElement buttons: button){
buttons.click();
}
这是一个很好的解决方案吗?肯定它比Kumar的解决方案短得多,而且有效。
答案 2 :(得分:0)
for(WebElement buttons: button){
buttons.click();
}
以下两个代码都以相同的方式使用 这个:
for(int i = 0 ; i < button.size() ; i++)
{
button.get(i).click();
}
或使用此:
{{1}}