微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Selenium WebDriver Chrome:在“ --window-size = x,y”模式下使用小尺寸x / y的奇怪行为

如何解决Selenium WebDriver Chrome:在“ --window-size = x,y”模式下使用小尺寸x / y的奇怪行为

我正在按Selenium WebDriver Chrome

解析页面

Python

    options = webdriver.ChromeOptions()
    options.add_argument("--window-size=100,100")
    
    driver = webdriver.Chrome(ChromeDriverManager().install(),options=go.options)
    driver.get("https://somepage")
    wait = webdriverwait(driver,5).until(EC.presence_of_element_located((By.TAG_NAME,'a')))
    
    try:
                list_links = driver.find_elements_by_tag_name('a')
    except Exception:
                print("No links")
                list_links = list()
                pass
    
    if list_links:
       link_ = random.choice(list_links)
       try:
          page_ = link_.text
          if page_ not in self.site_exclude:
                        link_.click()
                        self.counter += 1
                        print(self.counter,page_)
       except Exception as Err:
          print("Bad link",Err)
    else:
       print("list empty")

例如,在--window-size=500,500以上的情况下,此代码绝对可以正常工作,并且也没有此选项。 但是,在使用--window-size=100,100时-(实际上,它没有在打开的Chrome窗口中显示页面的任何部分,仅在上部浏览器栏上显示),它需要Elements <a>包含空白数据。 (但是,接受-DOM加载正常。)

它返回列表list_links = driver.find_elements_by_tag_name('a'),其中包含通常的对象集;数量-可以。

但是所有列表元素中的内容属性-为空:例如list_links[any].text = ''。实际上,此html页中的所有<a>-tags都有一些文本。

好像浏览器不是真的在屏幕上显示页面内容,它不会在某些html标签中加载所有页面内容,而是正确加载元素的DOM ...

(这对我的工作没有严重的问题,但是我对此感到非常惊讶。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。