[Selenium] 针对下拉菜单出现之后又立马消失的问题,通过Javascript改变元素的可见属性

public void clickDateDropDownButton() {
		SeleniumUtil.jsClick(driver, page.getDateDropdownButtonOfInvPolicyDialog());
		WebElement dropDown = page.getDropdownListOfDateInInvPolicyDialog();

		String oldStyle =dropDown.getAttribute("style");
		logger.info("The old style is : " + oldStyle);

		String newStyle="";
		if(oldStyle.contains("display")){
			newStyle = oldStyle.split("display")[0];
		}
		else{
			newStyle = oldStyle+" display: none;";
		}

		String javaScript = "return jQuery(arguments[0]).attr(‘style‘,‘"+newStyle+"‘);";
		((JavascriptExecutor) driver).executeScript(javaScript, dropDown);

		logger.info("The new style is : " + newStyle);
	}

  

时间: 2024-12-22 00:22:07

[Selenium] 针对下拉菜单出现之后又立马消失的问题,通过Javascript改变元素的可见属性的相关文章

selenium.common.exceptions.ElementNotVisibleException: Message: element not visible处理方法:selenium针对下拉菜单事件的处理

使用Selenium爬虫时,可能会遇到一些下拉菜单,动态加载,如果直接使用find_element_by_函数会报错,显示selenium.common.exceptions.ElementNotVisibleException: Message: element not visible. 意思是element是不可见的.所以无法获取到.这时候就遇到一个难题,怎么把element变成可见的呢? 这时候,我们就用ActionChains来模拟效果 ActionChains(driver).clic

selenium定位下拉菜单好文

http://www.cnblogs.com/nbkhic/archive/2011/10/23/2221726.html 定位下拉菜单

CSS 下拉菜单

使用 CSS 可以创建一个鼠标移入后显示下拉菜单的效果. 1.下拉菜单的实现 当鼠标移入指定元素时,显示下拉菜单.代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>简单的下拉菜单</title> 6 <style> 7 .dropdown{ 8 position:relative; 9 display:

下拉菜单--JavaScript触发方法

1. $(function(){ $(".dropdown-toggle").one("click",function(){ $(this).dropdown("toggle"); }) }) 2.当下拉菜单隐藏时,调用dropdown(“toggle”)方法可以显示下拉菜单,反之,如果下拉菜单显示时,调用dropdown(“toggle”)方法可以让下拉菜单隐藏. $(function(){ $(".dropdown-toggle&q

JavaScript---网络编程(11)--DHTML技术演示(4)-单选框/下拉菜单/添加文件

本节讲述单选框/下拉菜单/添加文件,综合css,html和JavaScript. 单选框: 实现的功能是:(类似平时的性格测试) 先隐藏一部分页面,然后通过点击单选框来显示. 再通过选项的选择-(每个选项有不同的积分)积分的多少来给出评语 演示代码: <html> <head> <title>DHTML技术演示---radio的使用</title> <meta http-equiv="content-Type" content=&q

CSS 实现样式下拉菜单

下拉菜单的实现 脚本: 1 <script type="text/javascript"> 2 function ShowSub(li) { 3 var subMenu = li.getElementsByTagName("ul")[0]; ; 4 subMenu.style.display = "block"; 5 } 6 function HideSub(li) { 7 var subMenu = li.getElementsBy

联动下拉菜单demo

效果图: 注意点: json中的key必须有规律可寻: 面向对象的方式去完成.构造函数对每一个小功能的结合: //面向对象方式 window.onload = function() { var s1 = new Sel("div1"); //数据加载 key值有规律 s1.add("0", ["1", "2", "3"]) //一级 s1.add("0_0", ["1_1&qu

Python+Selenium笔记(八):操作下拉菜单

(一) Select类 Select类是selenium的一个特定的类,用来与下拉菜单和列表交互. 下拉菜单和列表是通过HTML的<select> 元素实现的.选择项是通过<select>中的<option>元素实现的.使用前使用下面的语句导入模块. from selenium.webdriver.support.ui import Select (二) Select类的功能及方法 功能/属性 简单说明 all_selected_options 获取下拉菜单和列表中被选

selenium基础(下拉菜单操作)

selenium基础(下拉菜单操作) 非select/option元素: 1.触发下拉列表出现 2.等待下拉列表中的元素出现,然后进行选择元素即可. select/option元素: 下拉框操作-Select类selenium提供Select类来处理select/option 1.引入 from selenium.webdriver.support.ui import Select 2.创建Select对象,传入元素 ele = driver.find_element_by_xpath(元素定位