我使用以下代码连接到我想要运行一些自动化测试的网站:
# create an instance of the driver
driver = webdriver.Chrome('**root**\\chromedriver.exe')
# connect to "leboncoin"
connect_lbc(driver)
def connect_lbc(driver):
driver.get('https://www.leboncoin.fr/')
assert "No results found." not in driver.page_source
# press connection box
WebDriverWait(driver, 10).until(lambda driver : driver.find_element_by_xpath("//*[@id=\"header\"]/section/section/aside/button"))
connection_box = driver.find_element_by_xpath("//*[@id=\"header\"]/section/section/aside/button")
connection_box.click()
# fill in info and connect
WebDriverWait(driver, 10).until(lambda driver : driver.find_element_by_name('st_username'))
name_box = driver.find_element_by_name('st_username')
name_box.send_keys('**my_email_adress**')
pwd_box = driver.find_element_by_name("st_passwd")
pwd_box.send_keys('**my_pwd**')
connect_box = driver.find_element_by_xpath("//*[@id=\"popin-content\"]/section/main/section[1]/form/div[3]/div/input")
connect_box.click()
问题是,为了正确完成测试,我需要在整个过程中保持与我的帐户的连接。但有时,由于某种原因,我无法确定在自动化测试期间发生与我的帐户的断开连接。因此,我需要确定何时发生并重新连接。
我需要像isConnected()
这样的函数来返回一个布尔值,但问题是我不知道如何用Selenium和Python编写它。
有人知道如何处理这类问题吗?