There, I can wait for a thing in a shadow root like I want.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4378 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
parent
16155ef746
commit
958b47548d
@ -14,6 +14,9 @@ for path in ('out/selenium.sqlite', 'out/selenium.sqlite-shm', 'out/selenium.sql
|
||||
pass
|
||||
tf = subprocess.Popen(['out/debug/tildefriends', 'run', '-d', 'out/selenium.sqlite', '-b', '0', '-p', '8888'])
|
||||
|
||||
def exists_in_shadow_root(shadow_root, by, value):
|
||||
return lambda driver: shadow_root.find_element(by, value)
|
||||
|
||||
try:
|
||||
options = webdriver.FirefoxOptions()
|
||||
#options.add_argument('--headless')
|
||||
@ -27,23 +30,15 @@ try:
|
||||
driver.find_element(By.ID, 'loginButton').click()
|
||||
|
||||
driver.switch_to.frame(driver.find_element(By.ID, 'document'))
|
||||
WebDriverWait(driver, 30).until(expected_conditions.presence_of_element_located((By.LINK_TEXT, 'ssb')))
|
||||
driver.find_element(By.LINK_TEXT, 'ssb').click()
|
||||
WebDriverWait(driver, 30).until(expected_conditions.presence_of_element_located((By.LINK_TEXT, 'ssb'))).click()
|
||||
driver.switch_to.default_content()
|
||||
|
||||
WebDriverWait(driver, 30).until(expected_conditions.presence_of_element_located((By.ID, 'document')))
|
||||
driver.switch_to.frame(driver.find_element(By.ID, 'document'))
|
||||
WebDriverWait(driver, 30).until(expected_conditions.presence_of_element_located((By.TAG_NAME, 'tf-app')))
|
||||
tf_app = driver.find_element(By.TAG_NAME, 'tf-app').shadow_root
|
||||
WebDriverWait(driver, 30).until(expected_conditions.element_to_be_clickable(tf_app.find_element(By.ID, 'create_identity')))
|
||||
tf_app.find_element(By.ID, 'create_identity').click()
|
||||
alert = WebDriverWait(driver, 30).until(expected_conditions.alert_is_present())
|
||||
alert.accept()
|
||||
driver.switch_to.frame(WebDriverWait(driver, 30).until(expected_conditions.presence_of_element_located((By.ID, 'document'))))
|
||||
tf_app = WebDriverWait(driver, 30).until(expected_conditions.presence_of_element_located((By.TAG_NAME, 'tf-app'))).shadow_root
|
||||
WebDriverWait(driver, 30).until(expected_conditions.element_to_be_clickable(tf_app.find_element(By.ID, 'create_identity'))).click()
|
||||
WebDriverWait(driver, 30).until(expected_conditions.alert_is_present()).accept()
|
||||
|
||||
driver.implicitly_wait(3)
|
||||
#tf_app = driver.find_element(By.TAG_NAME, 'tf-app').shadow_root
|
||||
#WebDriverWait(driver, 30).until(expected_conditions.visibility_of(tf_app.find_element(By.ID, 'tf-tab-news')))
|
||||
tf_tab_news = tf_app.find_element(By.ID, 'tf-tab-news').shadow_root
|
||||
tf_tab_news = WebDriverWait(driver, 30).until(exists_in_shadow_root(tf_app, By.ID, 'tf-tab-news')).shadow_root
|
||||
tf_tab_news.find_element(By.ID, 'tf-compose').shadow_root.find_element(By.ID, 'edit').send_keys('Hello, world!')
|
||||
tf_tab_news.find_element(By.ID, 'tf-compose').shadow_root.find_element(By.ID, 'submit').click()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user