Python 刷新页面后获取Get_属性(“value”)
目前的情况是:Python 刷新页面后获取Get_属性(“value”),python,python-2.7,selenium,selenium-webdriver,Python,Python 2.7,Selenium,Selenium Webdriver,目前的情况是: 发送将密钥发送到字段 点击“保存”按钮(点击后刷新页面) 刷新页面后获取get_属性(“值”) 我的代码: def fill_twitter(self): enter_twitter = "http://" + fake.text(max_nb_chars=13) + ".com" twitter_field = self.find_element(*ContractorsLocators.TWITTER) twitte
将密钥发送到字段
get_属性(“值”)
def fill_twitter(self):
enter_twitter = "http://" + fake.text(max_nb_chars=13) + ".com"
twitter_field = self.find_element(*ContractorsLocators.TWITTER)
twitter_field.send_keys(enter_twitter)
self.find_element(*ContractorsLocators.SAVE_BUTTON).click()
time.sleep(4)
assert twitter_field.get_attribute("value") == enter_twitter
StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
我的错误:
def fill_twitter(self):
enter_twitter = "http://" + fake.text(max_nb_chars=13) + ".com"
twitter_field = self.find_element(*ContractorsLocators.TWITTER)
twitter_field.send_keys(enter_twitter)
self.find_element(*ContractorsLocators.SAVE_BUTTON).click()
time.sleep(4)
assert twitter_field.get_attribute("value") == enter_twitter
StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
如何获取get\u属性(“值”)
StaleElementReferenceException:消息:stale元素引用:元素未附加到页面文档
这是因为元素所在的页面已刷新,或者用户已导航到另一个页面
正如您所说,当单击“保存”按钮时,页面将刷新。因此,为了避免这种情况,您需要再次找到相同的元素(刷新元素),以获得其值,如下所示:-
assert self.find_element(*ContractorsLocators.TWITTER).get_attribute("value") == enter_twitter
StaleElementReferenceException:消息:stale元素引用:元素未附加到页面文档
这是因为元素所在的页面已刷新,或者用户已导航到另一个页面
正如您所说,当单击“保存”按钮时,页面将刷新。因此,为了避免这种情况,您需要再次找到相同的元素(刷新元素),以获得其值,如下所示:-
assert self.find_element(*ContractorsLocators.TWITTER).get_attribute("value") == enter_twitter
当页面刷新时,最好在元素过时之前保存属性值。
def fill_twitter(self):
enter_twitter = "http://" + fake.text(max_nb_chars=13) + ".com"
twitter_field = self.find_element(*ContractorsLocators.TWITTER)
twitter_field.send_keys(enter_twitter)
value = twitter_field.get_attribute("value")
self.find_element(*ContractorsLocators.SAVE_BUTTON).click()
time.sleep(4)
assert value == enter_twitter
当页面刷新时,最好在元素过时之前保存属性值。
def fill_twitter(self):
enter_twitter = "http://" + fake.text(max_nb_chars=13) + ".com"
twitter_field = self.find_element(*ContractorsLocators.TWITTER)
twitter_field.send_keys(enter_twitter)
value = twitter_field.get_attribute("value")
self.find_element(*ContractorsLocators.SAVE_BUTTON).click()
time.sleep(4)
assert value == enter_twitter
要检查页面刷新后元素是否可见,请使用显式sleep()函数,并在4秒钟后使用
WebDriverWait
检查组件是否可见
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "myDynamicElement"));
访问以便更好地理解。要检查页面刷新后元素是否可见,请使用显式sleep()函数,并在4秒钟后使用
WebDriverWait
检查组件是否可见
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "myDynamicElement"));
访问以获得更好的理解。您需要再次查找与
self.find\u元素(*ContractorsLocators.TWITTER).获取属性(“值”)
。您需要再次查找与self.find\u元素(*ContractorsLocators.TWITTER).获取属性(“值”)相同的元素。。