使用find_elements_by_xpath获取多个元素
自动化新建用户,新建用户中的关联企业、用户角色两个参数的下拉选项怎么也选不到。原因是这个页面有多个“中华商务联合印刷(广东)有限公司”,怎么也定位不到下拉框里的这个,因此无法选择上。
这个问题尝试了很多次都没有成功,之前的思路一直集中在如何把上图中的这个参数的精确位置获取到,使用XPATH的绝对路径、相对路径都不行,尝试通过父节点找到子节点,通过兄弟节点找到对应的节点,都不行,就是一直都找不到准确的位置。
那么换一种思路,可不可以将所有的“中华商务联合印刷(广东)有限公司”都找出来,然后一个个去试,使用的是find_elements_by_xpath获取所有相同名称的元素,它和find_element_by_xpath的区别是可以将所有符合条件的元素都找出来。打印出来是数组,该数组中包含非常多的元素,如下:
[<selenium.webdriver.remote.webelement.WebElement (session="1a93135bfa11ed0f53cc51f339c7b745", element="c94f2ce0-3354-4336-8aed-8e40fdc5662d")>, <selenium.webdriver.remote.webelement.WebElement (session="1a93135bfa11ed0f53cc51f339c7b745", element="832892ac-210b-415f-b13d-384e77e3de83")>, <selenium.webdriver.remote.webelement.WebElement (session="1a93135bfa11ed0f53cc51f339c7b745", element="7f925620-03bc-4f4e-8a53-6a43fd756efb")>, <selenium.webdriver.remote.webelement.WebElement (session="1a93135bfa11ed0f53cc51f339c7b745", element="2d88e051-7610-4574-89f7-1ce47e8ef33c")>]
而下拉框需要输入的那个元素刚好在最后一个,因此这里就不需要对每个元素进行点击,直接选择使用最后一个元素就可以了