def connect_to_webpage(self):
url_target_sg = 'http://railway1.hinet.net/csearch.htm'
url_target_gb = 'http://railway.hinet.net/ctkind2.htm'
self.driver.delete_all_cookies()
wait = WebDriverWait(self.driver, timeout=6)
try:
# Booking Single Ticket.
if self.book_type == 1:
self.driver.get(url_target_sg)
wait.until(
EC.presence_of_element_located(
(By.TAG_NAME, 'button')
)
)
# Booking Go-Back Ticket.
elif self.book_type == 2:
self.driver.get(url_target_gb)
wait.until(
EC.presence_of_element_located(
(By.TAG_NAME, 'button')
)
)
except:
self.label_show_result.setText(
'?????????????\n' +
'???????????????????'
)
python类TAG_NAME的实例源码
def find_element_by_tag_name(self, name):
return self.find_element(by=By.TAG_NAME, value=name)
def find_elements_by_tag_name(self, name):
return self.find_elements(by=By.TAG_NAME, value=name)
def find_element_by_tag_name(self, name):
return self.find_element(by=By.TAG_NAME, value=name)
def find_elements_by_tag_name(self, name):
return self.find_elements(by=By.TAG_NAME, value=name)
def get(self, relative_url, ignore_errors=False):
"""
Tells the browser to navigate to a relative URL (e.g.: '/learners') and makes sure there were
no console errors during page load.
"""
url = make_absolute_url(relative_url, self.live_server_url)
self.driver.get(url)
self.wait_until_loaded(By.TAG_NAME, 'body')
if not ignore_errors:
self.assert_no_console_errors()
else:
self.dump_console_logs()
def find_element_by_tag_name(self, name):
"""Finds element within this element's children by tag name.
:Args:
- name - name of html tag (eg: h1, a, span)
"""
return self.find_element(by=By.TAG_NAME, value=name)
def find_elements_by_tag_name(self, name):
"""Finds a list of elements within this element's children by tag name.
:Args:
- name - name of html tag (eg: h1, a, span)
"""
return self.find_elements(by=By.TAG_NAME, value=name)
def find_element_by_tag_name(self, name):
"""
Finds an element by tag name.
:Args:
- name: The tag name of the element to find.
:Usage:
driver.find_element_by_tag_name('foo')
"""
return self.find_element(by=By.TAG_NAME, value=name)
def find_elements_by_tag_name(self, name):
"""
Finds elements by tag name.
:Args:
- name: The tag name the use when finding elements.
:Usage:
driver.find_elements_by_tag_name('foo')
"""
return self.find_elements(by=By.TAG_NAME, value=name)
def options(self):
"""Returns a list of all options belonging to this select tag"""
return self._el.find_elements(By.TAG_NAME, 'option')
def find_elements_by_tag_name(self, name):
return self.find_elements(by=By.TAG_NAME, value=name)
def find_element_by_tag_name(self, name):
return self.find_element(by=By.TAG_NAME, value=name)
def find_elements_by_tag_name(self, name):
return self.find_elements(by=By.TAG_NAME, value=name)
def step_01_open_tested_page(selenium, base_url):
selenium.get(base_url)
# zkontrolujeme, ze na strance je napis <h2>Log In</h2>
el = selenium.find_element_by_tag_name('h1')
assert 'All products' in el.text
# # ExplicitWait - kdyz se nahravaji veci pomoci JavaScriptu a nereloadne se cela stranka
# WebDriverWait(selenium, 2).until(
# EC.presence_of_element_located(
# (By.TAG_NAME, 'h1')
# )
# )
def step_02_click_on_login(selenium):
el = selenium.find_element_by_link_text('Login or register')
el.click()
# zkontrolujeme, ze na strance je napis <h2>Log In</h2>
el = selenium.find_element_by_tag_name('h2')
assert 'Log In' in el.text
# # ExplicitWait - kdyz se nahravaji veci pomoci JavaScriptu a nereloadne se cela stranka
# WebDriverWait(selenium, 2).until(
# EC.text_to_be_present_in_element(
# (By.TAG_NAME, 'h2'),
# 'Log In'
# )
# )
def get_course_list(self, closed=False):
"""
Return a list of available courses.
ToDo: go to a closed course
"""
print(self.current_url())
'''print(
self.driver
.find_element(By.ID, 'ox-react-root-container')
.get_attribute('outerHTML')
)'''
self.wait.until(
expect.visibility_of_element_located(
(By.TAG_NAME, 'h1')
)
)
courses = self.find_all(
By.CSS_SELECTOR,
'.my-courses-current-section .my-courses-item'
)
if len(courses) == 0:
print('No courses found: %s' % courses)
return []
for position, course in enumerate(courses):
print('%s : "%s"' % (position, course.get_attribute('data-title')))
return courses
def find_element_by_tag_name(self, name):
"""Finds element within this element's children by tag name.
:Args:
- name - name of html tag (eg: h1, a, span)
"""
return self.find_element(by=By.TAG_NAME, value=name)
def find_elements_by_tag_name(self, name):
"""Finds a list of elements within this element's children by tag name.
:Args:
- name - name of html tag (eg: h1, a, span)
"""
return self.find_elements(by=By.TAG_NAME, value=name)
def find_element(self, by=By.ID, value=None):
if self._w3c:
if by == By.ID:
by = By.CSS_SELECTOR
value = '[id="%s"]' % value
elif by == By.TAG_NAME:
by = By.CSS_SELECTOR
elif by == By.CLASS_NAME:
by = By.CSS_SELECTOR
value = ".%s" % value
elif by == By.NAME:
by = By.CSS_SELECTOR
value = '[name="%s"]' % value
return self._execute(Command.FIND_CHILD_ELEMENT,
{"using": by, "value": value})['value']