RPA设计器省市区地址选择输入的分享(2)

如果我们要输入的户口地址是:湖南省长沙市雨花区,
我们可以算湖南省位于第 18 位,而这个 div 最多显示 10 个,我们需要按 down 键把湖南省显示出来,然后才能点击到湖南省的下拉按钮,所有我们需要计算出这个 div 的坐标,然后用鼠标点击,激活这个 div,然后才能用 down 键把湖南省显示出来:
首先需要通过获取元素位置组件,把北京的位置获取到,然后通过宽度计算滚动条的位置(不能直接点北京的位置,点北京的位置就好选中北京,而报错)
RPA设计器省市区地址选择输入的分享(2)

x_index,y_index,width,height = element_index
x = x_index + width*1.5
y = y_index - height /2 +5
然后用上面算出来的 x,y 位置传入点击组件里面,去点击激活该 div
RPA设计器省市区地址选择输入的分享(2)

再在模拟按键里面输入 down 的次数:‘{Down %s}’ % (province_index-9),就可以点击湖南省前面的下拉按钮了:

RPA设计器省市区地址选择输入的分享(2)

接下来地级市的路径也可以计算获得:
city_div = iie.get_html(title=r’全国学前教育管理信息系统’,selector = prov_selector,waitfor=3)
city_list = (etree.HTML(city_div)).xpath(‘//ul//span[@class=“tree-title”]/text()’)
city_index = city_list.index(city)
city_selector = prov_selector + ‘> UL:nth-of-type(1) > LI:nth-of-type({}) ‘.format(city_index+1)
再次通过模拟按键输入 down 的次数:’{Down %s}’ % city_index,显示长沙市后点击下拉按钮,
RPA设计器省市区地址选择输入的分享(2)
最后就是选择区县了:
county_div = iie.get_html(title=r’全国学前教育管理信息系统’,selector = city_selector,waitfor=2)
county_list = (etree.HTML(county_div)).xpath(‘//ul//span[@class=“tree-title”]/text()’)
county_index = county_list.index(county)
county_selector = city_selector + ’> UL:nth-of-type(1) ’‘> LI:nth-of-type({}) > DIV:nth-of-type(1) > SPAN:nth-of-type(6)’.format(county_index+1)
然后再次重复,最终点到雨花区
RPA设计器省市区地址选择输入的分享(2)
在户口所在地填上了雨花区
RPA设计器省市区地址选择输入的分享(2)