请各位大神帮忙看看,有没有需要修改的地方,非常感谢!!
没写那么复杂, 就下面这样:
def find_element(self, *loc):
try:
element = WD(self.driver, 60).until(EC.visibility_of_element_located(*loc))
return element
except:
print("元素没找到")
恒捷, 大神, 我想再问一下,我试了运行我的程序, 我再 BasePage 类中从外部传递过来的 driver, 是可以执行我的 webdriver 内部方法的,比如 send_keys(), driver.page_source() 等, 这说明我是在运行时才知道去调用那些方法.
但是我如果想在写代码的时候就能推断出我的这个 driver 就是 webdriver, 从而在 BasePage 类中我可以直接通过 element1 = self.driver.find_element(*loc). element1 点出 send_keys() 这个方法, (目前我写的 send_keys() 是我手动输入的), 我应该怎么写? 还需要在我的 basepage 类中再实例化我的 webdriver 吗?
恩,我就是对照 JAVA, 但是 JAVA 和 Python 真的有些不同,Python 只能在 testcase 中实例化这个 driver = webriver.Chrome(). 然后通过 page 类传递这个 driver 到 basepage 类中,但是在 basepage 类中我去通过传过来的 driver 去调用 webdriver 的内部方法时候,却点不出来这些内部方法 (webdriver.send_keys(), webriver.page_source() 等). 而 JAVA 可以在 basepage 类中定义变量类型是 webdriver,这样在 basepage 类就可以,调用出 webdriver 的内部方法. python 是不能去定义变量类型的
元素定位是对的,
请各位大神看看我这个话题,凭你们的经验回复一下