Python+selenium自动化脚本编辑过程中遇到的问题和小技巧

时间:2021-12-17 16:12:58

应该也不算是问题和技巧,算是实践中学习到的Python,记录下,也不定时更新

1.通过截取url判断

实例:

self.assertEqual(self.broswer.current_url[self.broswer.current_url.find('editor=')+7:],'564d406f76bf511e8d000004','没有筛选自己')

截取url中editor=后面的字符串到最后

2.第一次使用正则

实例:

elf.assertNotEqual(exResult,re.search('\d+',self.broswer.find_element_by_xpath('/html/body/div/div/ui-view/div/div[1]/ul/li/span[2]').text).group(),'搜索结果条数一样')

获取到的text是“当前222篇”,正则获取数字开始的数字

3.弹出框

实例:

self.broswer.get(exURL)
sleep(2)
alert = self.broswer.switch_to_alert()
alert.accept()

由于当前界面是编辑界面,所以想回到之前的界面时会弹出alert。还可以用dismiss

4.切换窗口

实例:

now_handle = self.broswer.current_window_handle
for handle in self.broswer.window_handles:#先切换到新打开的窗口,然后关掉
if handle !=now_handle:
self.broswer.switch_to_window(handle)
self.broswer.close()
self.broswer.switch_to_window(now_handle)#切换回原来的窗口

点击超链接后在新窗口中打开了,要把新打开的窗口关闭再切换回原来的窗口

先获取当前的handle,再和handles对比,如果不是就先切换过去关掉

再切换回来

一开始是将切换回原来的handle放到else里,结果发现获取到的window_handles中第一个handle就是原来的handle

导致当窗口关闭之后,handle还是之前的handle没有切换过来