vchrome 0.0.8__py3-none-any.whl → 0.0.10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
vchrome/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- __version__ = '0.0.8'
1
+ __version__ = '0.0.10'
2
2
  __author__ = 'v'
3
3
  # ----------------------------------------------------------------------------------------------------
4
4
  _allowed = {'Chrome'}
@@ -1628,6 +1628,7 @@ def cdp_client(hostname, port, debug=False):
1628
1628
  self.iso_contextId = None
1629
1629
  self.tools = CDPTools(self, self.rootf)
1630
1630
  self.element = ElementTools(self)
1631
+ self.js = self.run_js
1631
1632
  @property
1632
1633
  def type(self):
1633
1634
  if self.sessionId:
@@ -1913,6 +1914,9 @@ def cdp_client(hostname, port, debug=False):
1913
1914
  def __init__(self, f):
1914
1915
  self.f = f
1915
1916
  self.attach(f)
1917
+ self.userAgent = None
1918
+ self.languages = None
1919
+ self.platform = None
1916
1920
  def attach(self, c):
1917
1921
  c.get = self.f._go_url
1918
1922
  c.cdp = self.f.cdp
@@ -1929,10 +1933,10 @@ def cdp_client(hostname, port, debug=False):
1929
1933
  c.press = self.f.press
1930
1934
  c.release = self.f.release
1931
1935
  c.id = self.f.id
1936
+ c.pic = self.f.pic
1932
1937
  c.set_rect = self.f.root.set_rect
1933
1938
  c.set_fullscreen = self.f.root.set_fullscreen
1934
1939
  c.set_maxscreen = self.f.root.set_maxscreen
1935
- c.pic = self.f.pic
1936
1940
  c.get_dialog = lambda:self.f.page.dialog
1937
1941
  c.set_dialog = lambda v:setattr(self.f.page, 'dialog', v)
1938
1942
  c.get_cookies = lambda:self.f._get_cookies()
@@ -1942,7 +1946,30 @@ def cdp_client(hostname, port, debug=False):
1942
1946
  def __si(self,a,b):self._js2py('window')[a]=b
1943
1947
  c.__class__.__getitem__ = __gi
1944
1948
  c.__class__.__setitem__ = __si
1949
+ c.get_userAgent = lambda:self.f.rootf.browser.userAgent
1950
+ c.set_userAgent = lambda v:(setattr(self,'userAgent',v),self.set_user_agent({"userAgent":v,"acceptLanguage":self.languages,"platform":self.platform}))
1951
+ c.get_languages = lambda:self.f.rootf.browser.languages
1952
+ c.set_languages = lambda v:(setattr(self,'languages',v),self.set_user_agent({"acceptLanguage":v,"platform":self.platform}))
1953
+ c.get_platform = lambda:self.f.rootf.browser.platform
1954
+ c.set_platform = lambda v:(setattr(self,'platform',v),self.set_user_agent({"acceptLanguage":self.languages,"platform":v}))
1945
1955
  self.f.root.extension.attach(c)
1956
+ self.userAgent, self.languages, self.platform = c.js('[navigator.userAgent, navigator.languages, navigator.platform]')
1957
+ if 'Headless' in self.userAgent:
1958
+ self.userAgent = self.userAgent.replace('Headless','')
1959
+ self.set_user_agent({"userAgent":self.userAgent, "languages":self.languages, "platform":self.platform})
1960
+ def set_user_agent(self, info):
1961
+ d = {"userAgent": info.get('userAgent', self.userAgent)} # userAgent must exist.
1962
+ platform = info.get('platform', None)
1963
+ acceptLanguage = info.get('acceptLanguage', None)
1964
+ if platform: d['platform'] = platform
1965
+ if acceptLanguage:
1966
+ if type(acceptLanguage) == str:
1967
+ d['acceptLanguage'] = acceptLanguage.split(';')[0]
1968
+ elif type(acceptLanguage) in (list, tuple):
1969
+ d['acceptLanguage'] = ','.join(acceptLanguage)
1970
+ else:
1971
+ raise Exception('type error must be str/list[str], curr type:'+type(acceptLanguage))
1972
+ self.f.cdp('Network.setUserAgentOverride', d)
1946
1973
  class CookieManager:
1947
1974
  def __init__(self, f): self.f = f
1948
1975
  @property
@@ -2528,6 +2555,7 @@ class Chrome:
2528
2555
  arguments = [],
2529
2556
  proxy = None,
2530
2557
  extension = None,
2558
+ verify = True,
2531
2559
  ):
2532
2560
  self.debug = Debug(debug)
2533
2561
  self.path = find_chrome(path)
@@ -2538,6 +2566,7 @@ class Chrome:
2538
2566
  self.arguments = arguments
2539
2567
  self.proxy = proxy
2540
2568
  self.extension = extension
2569
+ self.verify = verify
2541
2570
  self._user_cmd = self._make_user_cmd()
2542
2571
  if not self.path:
2543
2572
  raise Exception('chrome path not find.')
@@ -2568,6 +2597,8 @@ class Chrome:
2568
2597
  return i, s
2569
2598
  def _make_user_cmd(self):
2570
2599
  _user_cmd = self.arguments
2600
+ if not self.verify:
2601
+ _user_cmd.append('--ignore-certificate-errors')
2571
2602
  if self.headless and not self._cmd_check_in(_user_cmd, '--headless'):
2572
2603
  # TODO
2573
2604
  # think about CDP:Input Event compatible.
@@ -2601,10 +2632,16 @@ class Chrome:
2601
2632
  frames = property(lambda s:s.dr.frames)
2602
2633
  cookies = property(lambda s:s.get_cookies(), lambda s,v:s.set_cookies(v))
2603
2634
  dialog = property(lambda s:s.get_dialog(), lambda s,v:s.set_dialog(v))
2635
+ userAgent = property(lambda s:s.get_userAgent(), lambda s,v:s.set_userAgent(v))
2636
+ languages = property(lambda s:s.get_languages(), lambda s,v:s.set_languages(v))
2637
+ platform = property(lambda s:s.get_platform(), lambda s,v:s.set_platform(v))
2604
2638
  return Chrome(self.root, self.dr.root._new_driver(not foreground))
2605
2639
  frames = property(lambda s:s.dr.frames)
2606
2640
  cookies = property(lambda s:s.get_cookies(), lambda s,v:s.set_cookies(v))
2607
2641
  dialog = property(lambda s:s.get_dialog(), lambda s,v:s.set_dialog(v))
2642
+ userAgent = property(lambda s:s.get_userAgent(), lambda s,v:s.set_userAgent(v))
2643
+ languages = property(lambda s:s.get_languages(), lambda s,v:s.set_languages(v))
2644
+ platform = property(lambda s:s.get_platform(), lambda s,v:s.set_platform(v))
2608
2645
  def _check_lower_version(self):
2609
2646
  try:
2610
2647
  verison = self.dr.root.verison
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vchrome
3
- Version: 0.0.8
3
+ Version: 0.0.10
@@ -0,0 +1,5 @@
1
+ vchrome/__init__.py,sha256=Jyt2JWUREY7HRFFqmUsCaripM5GGiGmllvCmzbSTWUQ,212657
2
+ vchrome-0.0.10.dist-info/METADATA,sha256=KPS4Si5Mwn9qy1yO9vTyJjjLLD-CTBhAbwSvLkw9tug,55
3
+ vchrome-0.0.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
4
+ vchrome-0.0.10.dist-info/top_level.txt,sha256=oB919Fa09PCy48Ptj8iy-1QUcvhEeY97MOR42281Fk0,8
5
+ vchrome-0.0.10.dist-info/RECORD,,
@@ -1,5 +0,0 @@
1
- vchrome/__init__.py,sha256=54rvOagRIZrrCOF7LrudzF85S8pzgAEZIsVq-bbpQMM,210094
2
- vchrome-0.0.8.dist-info/METADATA,sha256=tKmwbpzUM3M5bQZJ0biHSgcoChSI49lVRZ2Z9z0PLjk,54
3
- vchrome-0.0.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
4
- vchrome-0.0.8.dist-info/top_level.txt,sha256=oB919Fa09PCy48Ptj8iy-1QUcvhEeY97MOR42281Fk0,8
5
- vchrome-0.0.8.dist-info/RECORD,,