vchrome 0.0.9__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.9'
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
@@ -2605,10 +2632,16 @@ class Chrome:
2605
2632
  frames = property(lambda s:s.dr.frames)
2606
2633
  cookies = property(lambda s:s.get_cookies(), lambda s,v:s.set_cookies(v))
2607
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))
2608
2638
  return Chrome(self.root, self.dr.root._new_driver(not foreground))
2609
2639
  frames = property(lambda s:s.dr.frames)
2610
2640
  cookies = property(lambda s:s.get_cookies(), lambda s,v:s.set_cookies(v))
2611
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))
2612
2645
  def _check_lower_version(self):
2613
2646
  try:
2614
2647
  verison = self.dr.root.verison
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vchrome
3
- Version: 0.0.9
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=ZZA0gzfEZgxb36P3InEHzgGtL0DiP9B0Myan-yhb8sA,210238
2
- vchrome-0.0.9.dist-info/METADATA,sha256=gAAL6cfLFmuhSObZ_h77v1dawlicJQia_TeH2LPocsQ,54
3
- vchrome-0.0.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
4
- vchrome-0.0.9.dist-info/top_level.txt,sha256=oB919Fa09PCy48Ptj8iy-1QUcvhEeY97MOR42281Fk0,8
5
- vchrome-0.0.9.dist-info/RECORD,,