[Selenium]点击下拉框之后,从下拉列表选择元素进行点击很容易失败

点击下拉框之后,下拉列表会显示出来,但是有时候下拉列表会很快就消失掉,导致后面选择元素的时候会失败。

像这种情况,需要将鼠标移动到下拉列表上,使下拉列表维持显示,然后才选择元素进行点击。

将鼠标移动到下拉列表上,有时候只要提供整个下拉列表的Dom结构就可以,有时候下拉列表很长,这种方式也会失败。

后来采用计算下拉列表的大小,给一点偏移量来进行移动,比较好使。

/**
	 * Click drop down control of Asset Class Set in Asset Class Selection Dialog
	 * @author jzhang6
	 */
	public List<WebElement> clickDropDownControlOfACSetInACSelectionDialog() {
		Actions action = new Actions(driver);
		WebElement dropDownControl=page.getDropDownControlOfACSetInACSelectionDialog();
		action.click(dropDownControl);
		WebElement dropDownMenu=page.getDropDownMenuOfACSetInACSelectionDialog();
		Dimension menuSize=dropDownMenu.getSize();
		int locx=(menuSize.width)/10;
		int locy=(menuSize.height)/10;
		action.moveToElement(dropDownMenu,locx,locy).perform();
		List<WebElement> li=page.getListOfACSetInACSelectionDialog();
		Assert.assertTrue(li.size()>0, "Drop down list of Assert Class Set should be expanded");
		return li;
	}
时间: 2024-10-05 05:01:45

[Selenium]点击下拉框之后,从下拉列表选择元素进行点击很容易失败的相关文章

js实现点击下拉框选中对应的div

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js实现点击下拉框选中对应的div</title> <style type="text/css"> div{display:none;} </style> </head> <body> <select name="

Python3.x:selenium遍历select下拉框获取value值

Python3.x:selenium遍历select下拉框获取value值 Select提供了三种选择方法: # 通过选项的顺序,第一个为 0 select_by_index(index) # 通过value属性 select_by_value(value) # 通过选项可见文本 select_by_visible_text(text) Select提供了四种方法取消选择: deselect_by_index(index) deselect_by_value(value) deselect_by

JavaScript向select下拉框中添加和删除元素

JavaScript向select下拉框中添加和删除元素 1.说明 a   利用append()方法向下拉框中添加元素 b   利用remove()方法移除下拉框中最后一个元素 2.设计源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xm

python+selenium七:下拉框、选项框、select用法

from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsimport timedriver = webdriver.Firefox()url = "https://www.baidu.com"driver.get(url)time.sleep(3) # 1.下拉框mouse = driver.find_element("link text&quo

web自动化测试—selenium游览器下拉框操作

# coding=utf-8'''下拉框实战思路导包:from selenium.webdriver.support.select import Select #下拉框select from selenium.webdriver.common.action_chains import ActionChains #鼠标操作先定位到下拉框-->>实例化Select类-->>实例化后调用select类的任何一个方法定位方式分为索引 select_by_index() value sele

selenium自学笔记---下拉框定位元素select

下拉框1.先定位select 然后在定位option city = driver.find_element_by_id("selCities_0") city.find_element_by_xpath("//option[@value='50']").click() 或者 driver.find_element_by_id("selCities_0").find_element_by_xpath("//option[@value='5

vue 点击下拉框

data: { hide:false, zhi:"全部" }, <div class="item"> <div class="c2c-all" @click="hide ? hide=false : hide=true"> <span class="c2c-alla" style="position: relative">{{zhi}}</spa

selenium python选取下拉框中的值

https://stackoverflow.com/questions/47689936/unable-to-scroll-and-select-desired-year-from-calender-in-webdriver-python Year1990 = driver.find_element_by_xpath("//*[@id='ui-datepicker-div']/div/select[2]/option[28]") ActionChains(driver).move_to

禁止select下拉框的其中某个选择项不能被选择

<select name='Grade' class='s8'> <option value=''>— 请选择 —</option>? <optgroup label='学期教育'></optgroup><option value='18'>  学期教育</option> <optgroup label='小学'></optgroup><option value='5'>  1年级<