java - Activate javascript on Webdriver selenium -
i have program java , use selenium webdriver. script doesn't see button "open device access" because "display : none".
normally, when click on "device access", "open access device" button appears javascript. firefox webdriver not seem support javascript, how can operate it?
driver.get(baseurl); driver.findelement(by.id("username")).clear(); driver.findelement(by.id("username")).sendkeys("admin"); driver.findelement(by.id("password")).clear(); driver.findelement(by.id("password")).sendkeys("xxx"); driver.findelement(by.name("btnlogin")).click(); thread.sleep(5000); driver.findelement(by.xpath("//a[@href='/mybox/devices/overview.php']")).click(); thread.sleep(5000); driver.findelement(by.xpath("//a[@href='/mybox/devices/satellite.php']")).click(); thread.sleep(5000); webelement element = driver.findelement(by.xpath("//input[@value='open device access']")); system.out.println("element display (avant accordéon): "+element.isdisplayed()+""); driver.findelement(by.id("device_hmi_content_22")).click(); webelement element2 = driver.findelement(by.xpath("//input[@value='open device access']")); system.out.println("element display (open): "+element2.isdisplayed()+""); if (iselementpresent(by.xpath("//input[@value='close device access']")) ) { driver.findelement(by.xpath("//input[@value='close device access']")).click(); driver.findelement(by.xpath("//input[@value='open device access']")).click(); thread.sleep(5000); asserttrue(iselementpresent(by.xpath("/html/body/div[2]/div[3]/div[3]/div[2]/div/div[2]/div[2]/div/div[6]/div/div/div/p/span"))); asserttrue(iselementpresent(by.xpath("/html/body/div[2]/div[3]/div[3]/div[2]/div/div[2]/div[2]/div/div[6]/div/div/div[2]/input"))); asserttrue(iselementpresent(by.xpath("/html/body/div[2]/div[3]/div[3]/div[2]/div/div[2]/div[2]/div/div[6]/div/div/div[2]/input[2]"))); thread.sleep(3000); driver.findelement(by.xpath("//input[@value='close device access']")).click(); thread.sleep(5000); } else { // driver.findelement(by.xpath("//input[@value='open device access']")).click(); // thread.sleep(5000); // asserttrue(iselementpresent(by.xpath("/html/body/div[2]/div[3]/div[3]/div[2]/div/div[2]/div[2]/div/div[6]/div/div/div/p/span"))); // asserttrue(iselementpresent(by.xpath("/html/body/div[2]/div[3]/div[3]/div[2]/div/div[2]/div[2]/div/div[6]/div/div/div[2]/input"))); // asserttrue(iselementpresent(by.xpath("/html/body/div[2]/div[3]/div[3]/div[2]/div/div[2]/div[2]/div/div[6]/div/div/div[2]/input[2]"))); // thread.sleep(3000); // driver.findelement(by.xpath("//input[@value='close device access']")).click(); // thread.sleep(5000); } i don't want program javascript want activate javascript on firefox webdriver.
the button not visible:
<div id="device_hmi_content_22"> < div id="accordion_device_hmi_22" class="accordion"> <h2 class="accheadline accheadlineclosed">device access</h2> <div class="acccontent acccontentclosed "> <div class="submit"> <input type="button" onclick="onopensessionclick()" value="open device access"> </div> </div> </div> the button "open device access" "not visible", how can click on it? how can make visible?
thanks help.
javascript works out-of-the-box selenium webdrivers, includeing firefox driver. issue not javascript not running. if want confirm open console during long sleep , run alert();. or, dash away doubts run in test:
driver.get(baseurl); driver.execute('alert();'); you should see standard browser alert indicating javascript indeed working , issue stemming somewhere else.
i've had issues click element "stolen" element above it, can happen if have fixed-position elements. if think issue, setting elementscrollbehavior 1.
Comments
Post a Comment