本文整理汇总了Python中selenium.webdriver.Firefox.find_element_by_css_selector方法的典型用法代码示例。如果您正苦于以下问题:Python Firefox.find_element_by_css_selector方法的具体用法?Python Firefox.find_element_by_css_selector怎么用?Python Firefox.find_element_by_css_selector使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类selenium.webdriver.Firefox
的用法示例。
在下文中一共展示了Firefox.find_element_by_css_selector方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PPLogBackendBrowser
# 需要导入模块: from selenium.webdriver import Firefox [as 别名]
# 或者: from selenium.webdriver.Firefox import find_element_by_css_selector [as 别名]
class PPLogBackendBrowser(object):
def __init__(self):
self._browser = None
def start(self):
print('START')
secret = createObject('pplog.secret')
# desired_capabilities={'phantomjs.page.settings.userAgent': ""})
self._browser = WebDriver()
self._browser.implicitly_wait = 10 # pageをloadするまでの待ち時間を設定
# browser.delete_allcookies() # Cookieを全消し
self._browser.get('https://pplog.net/')
time.sleep(1)
self._browser.get('https://pplog.net/users/auth/twitter')
self._browser.find_element_by_id('username_or_email').send_keys(secret.username)
self._browser.find_element_by_id('password').send_keys(secret.password)
self._browser.find_element_by_css_selector('.submit').click()
def post(self, *args, **kwds):
print('POST')
for ii in range(100): # retry count
print('COUNT: {}'.format(ii))
try:
self._post(*args, **kwds)
except:
self._browser.get('https://www.pplog.net/')
else:
self._browser.get('https://www.pplog.net/')
break
time.sleep(1)
else:
print('retry error')
def _post(self, data):
time.sleep(1)
self._browser.find_element_by_css_selector('.new-btn').click()
form = self._browser.find_element_by_css_selector('form#new_post_')
form.find_element_by_tag_name('textarea').send_keys(data)
time.sleep(1)
form.find_element_by_css_selector('input.btn-primary').click()
print('OK')
示例2: DIMA_WIN
# 需要导入模块: from selenium.webdriver import Firefox [as 别名]
# 或者: from selenium.webdriver.Firefox import find_element_by_css_selector [as 别名]
class DIMA_WIN():
ROOT_URL = "http://detki.co.il/photo/photokonkurs1.html/"
VOIT_URL = "http://detki.co.il/photo/photokonkurs1.html?vote=5&star_id=30"
CSS = "/html/body"
def __init__(self):
try:
self.driver = Firefox(timeout=10)
# self.driver.get(self.ROOT_URL)
# alert = self.driver.switch_to_alert()
# WebDriverWait(self.driver, 15)
except (Exception, ) as e:
print e
self.driver.quit()
def wait(self, issue, search_type='css'):
try:
if search_type == 'css':
WebDriverWait(self.driver, timeout=60).until(
lambda x: x.find_element(By.XPATH, issue))
elif search_type == 'id':
WebDriverWait(self.driver, timeout=60).until(
lambda x: x.find_element(By.ID, issue))
except (TimeoutException, Exception) as e:
print e
self.driver.quit()
def start(self):
try:
with timeout(10): # AVOID AUTH WINDOW
self.driver.get(self.ROOT_URL)
except (Exception,) as e:
print e
self.driver.quit()
def voit(self):
try:
with timeout(120): # AVOID AUTH WINDOW
self.driver.get(self.ROOT_URL)
WebDriverWait(self.driver, 20)
actions = ActionChains(self.driver)
# li = self.driver.find_element_by_xpath('//*[@id="content"]/div/div[1]/div[1]/div[1]/ul/li[38]/div/div[1]/ul/li[6]/a')
lli = self.driver.find_element_by_css_selector('#content > div > div.large-12.columns > div:nth-child(2) > div.large-8.columns > ul > li:nth-child(38) > div > div.large-7.columns > ul > li:nth-child(6) > a')
actions.click(lli)
print "clicked"
except (Exception,) as e:
print e
finally:
self.driver.quit()
示例3: open_browser
# 需要导入模块: from selenium.webdriver import Firefox [as 别名]
# 或者: from selenium.webdriver.Firefox import find_element_by_css_selector [as 别名]
def open_browser(self):
# Open Firefox to charter using Selenium
browser = Firefox()
browser.get('https://www.charter.com/browse/content/new-channel-lineup')
# Click the "choose state" menu using Selenium
wait = WebDriverWait('browser', 20)
button = browser.find_element_by_css_selector('.drop-down-current')
button.click()
# # Identify all states in the list, read as text using Selenium
list_item = browser.find_element_by_class_name('drop-down-list')
states = list_item.text
# print states
# sel_st = raw_input('Type in 2 letter st abbreviation: ')
def prompt(self)
示例4: Firefox
# 需要导入模块: from selenium.webdriver import Firefox [as 别名]
# 或者: from selenium.webdriver.Firefox import find_element_by_css_selector [as 别名]
from time import sleep
from selenium.webdriver import Firefox
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from pygeocoder import Geocoder
import pygmaps
from bs4 import BeautifulSoup
browser = Firefox()
browser.get('https://www.charter.com/browse/content/new-channel-lineup')
wait = WebDriverWait('browser', 20)
button = browser.find_element_by_css_selector('.drop-down-current')
button.click()
list_item = browser.find_element_by_class_name('drop-down-list')
# states = list_item.text
# print states
while True:
st_prompt = raw_input("Enter 2 letter state abbreviation: ")
find_st = browser.find_element_by_link_text(st_prompt.upper())
sel_st = find_st.text + ', USA'
print sel_st
find_st.click() # click to sel state
sleep(1)
try:
list_region = WebDriverWait(browser, 02).until(EC.visibility_of((By.ID, "select-region")))
示例5: __init__
# 需要导入模块: from selenium.webdriver import Firefox [as 别名]
# 或者: from selenium.webdriver.Firefox import find_element_by_css_selector [as 别名]
class Scraper:
""" A Simple Scraper Example using Selenium """
def __init__(self, base_url, query_params):
self.__take_results_backup()
options = Options()
options.add_argument("--headless")
try:
self.driver=Chrome(options=options)
except Exception as e:
print(f'Error occured during Chrome driver : {e}')
self.driver=Firefox()
self.driver.get(base_url + query_params)
# set up the next page element
self.nextpage_element=self.driver.find_element_by_css_selector(
".pager-next a")
def __take_results_backup(self):
if os.path.exists('outfile.csv'):
stamp=f'outfile{time.asctime().replace(":", "-").replace(" ","_")}'
shutil.move('outfile.csv', stamp)
def __save_info(self, lines):
"""
This method saves the recently collected information line from webpage
"""
with open('outfile.csv', 'a') as f:
for line in lines:
f.write(line)
def nextpage(self, css_locator):
self.driver.find_element_by_css_selector(
css_locator).click()
def scrape_page(self):
providers = self.driver.find_elements_by_css_selector(".provider-row")
for provider in providers:
try:
name = provider.find_element_by_css_selector(
".provider-base-info h3 a").text
email = provider.find_element_by_css_selector(
".provider-link-details .icon-mail+a").get_attribute(
'href').replace('mailto:','')
website = provider.find_element_by_css_selector(
".provider-link-details .website-link a").get_attribute('href')
location = provider.find_element_by_css_selector(
".provider-info__details div.list-item:nth-of-type(4)").text
lineitem=f'{name.replace(",","-")},{email},{website},{location.replace(",","-")}'
# append the results
self.__save_info(lineitem + "\n")
except NoSuchElementException:
# skip information and continue scraping the page
continue
except Exception as e:
# discontinue in case of unknown error
raise ScrapePageError(f"Error occured during scrape page : {e}")
def scrape(self):
# scrape until nextpage function doesn't fail
while True:
print(f"scraping the website... ")
try:
self.scrape_page()
self.nextpage(".pager-next a")
except ScrapePageError as e:
print(e)
self.nextpage(".pager-next a")
continue
except Exception as e:
print("Something went wrong: ", e)
self.driver.close()
break
示例6: enumerate
# 需要导入模块: from selenium.webdriver import Firefox [as 别名]
# 或者: from selenium.webdriver.Firefox import find_element_by_css_selector [as 别名]
browser.get(url)
rows = browser.find_elements_by_css_selector('div.hpit-row.pageContent tr')
for row in rows:
cells = row.find_elements_by_tag_name('td')
for i, c in enumerate(cells):
if c.text == 'Session_AppGroups':
return [group for group in cells[i + 1].text.split('|') if len(group) > 0]
return []
if __name__ == "__main__":
browser = Firefox()
browser.get('https://eit1-i.svcs.hp.com/cds/') # Site-Minder url
with open('.pass') as f:
credential = json.load(f)
email = browser.find_element_by_css_selector('input[name="USER"]')
email.send_keys(credential['user_name'])
password = browser.find_element_by_css_selector('input[name="PASSWORD"]')
password.send_keys(credential['password'])
logon = browser.find_element_by_css_selector('input.btn.btn-primary')
logon.click()
groups = get_groups(browser, 'https://eit1-i.svcs.hp.com/cds/SiteMinder/Header')
print(groups)
browser.quit()