通过selenium定位元素时,有时候迫不得已需要对一些标签进行修改操作,如删除,修改它的值之类的。
前段时间遇到一个问题,关于下拉框元素动态加载,从而导致无法定位的问题。
问题and回答:👇:
关于selenium定位下拉框中动态加载的元素定位不到或无法定位的问题
# 定位到下拉框
inputs_selcet = driver.find_elements_by_css_selector(".ant-select")
# 展开元素,使后面可以定位到它
inputs_selcet[1].click()
# 定位到下拉框的所有元素
meeting_div = driver.find_element_by_xpath\
("//div[@class = 'ant-select-dropdown ant-select- dropdown--multiple ant-select-dropdown-placement-bottomLeft'][1]")
# js代码,修改属性值
# 修改之前的是width: 360px;left: 360px;top: 465px;display: none;
js = "arguments[0].style = 'width: 360px;left: 360px;top: 465px;';"
# 执行js
driver.execute_script(js, meeting_div)
这样就成功修改元素的属性值了
argumen[0]代表我需要修改的第一个参数,类似于第一个索引
style是这个元素里的属性名,这里我们要修改的是它,所以定位它。
小白学习中,记录一下学习中遇到的问题
~
参考文章
https://blog.csdn.net/baidu_37964071/article/details/87946901