# 第二个方法:点击页面顶部的tab通讯录
def goto_member_from_tab(self):
# 点击通讯录
self.find(By.ID, "menu_contacts").click()
# 点击添加联系人,第二种方法等待页面可点击后再点击
# self.find(By.XPATH, '//*[@id="js_contacts39"]/div/div[2]/div/div[2]/div[3]/div[1]/a[1]').click()
# locator=(By.XPATH, '//*[@id="js_contacts39"]/div/div[2]/div/div[2]/div[3]/div[1]/a[1]')
locator=(By.CSS_SELECTOR, ".js_has_member>div:nth-child(1)>a:nth-child(2)")
# 自己定义一个显示等待函数,实现等页面跳转后进行下一步操作
def wait_for_next(x: WebDriver):
try:
# 将传进来的locator解包,因为locator中有两个元素
x.find_element(*locator).click()
# 等能定位到输入框输入姓名元素后再允许点击
return x.find_element(By.ID, "username")
except:
return False
# x不需要传值,会将webdriver传递进去
WebDriverWait(self.driver, 20).until(wait_for_next)
return AddMemberPage(self.driver)
python+selenium 自己实现显示等待
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 隐性等待 如果webdriver在DOM中没有找到元素,将会等待设定的时间(time)那么长的时间,如果超出这个时...
- 1.强制等待 import timetime.sleep(2) #2表示时长,单位为秒 2.隐性等待,imp...
- 拿chrome浏览器举例,正常我们是用webdriver.Chrome()调用浏览器后台运行只需要在调用前加上两行...
- 什么是Selenium Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器端到端的we...
- 黑色的海岛上悬着一轮又大又圆的明月,毫不嫌弃地把温柔的月色照在这寸草不生的小岛上。一个少年白衣白发,悠闲自如地倚坐...