【问题标题】:Reading information from a page without Web Locators , Selenium , Python从没有 Web Locators 、 Selenium 、 Python 的页面中读取信息
【发布时间】:2022-01-09 04:30:56
【问题描述】:
xpath_id = '/html/body'
conf_code = driver.find_element(By.XPATH, (xpath_id))
code_list = []
for c in range(len(conf_code)):
    code_list.append(conf_code[c].text)

如上所示,我选择了 xpath 定位器,但我找不到文本,这是因为这个特定的网页完全是空白的,仅作为 «body» 中的文本 该页面的html如下:

«html», «head», «body» '我要阅读和保存的文本' «body», «/html»

如何读取此文本并将其存储在变量中

【问题讨论】:

    标签: python html selenium


    【解决方案1】:

    你的问题不够清楚。
    无论如何,如果该页面上有多个包含文本的元素,您可以使用以下内容:

    xpath_id = '/html/body/*'
    conf_code = driver.find_elements(By.XPATH, (xpath_id))
    code_list = []
    for c in conf_code:
        code_list.append(c.text)
    

    在您从那里获取所有这些元素之前,不要忘记添加一些延迟以使页面完全加载

    【讨论】:

    • 嘿,我使用简单的 print(driver.page_source) 解决了这个问题,它给了我完整的 HTML 内容,然后我从中提取了 部分。其他一切都只是在错误之后返回错误。谢谢朋友
    【解决方案2】:

    如果您真的只是抓取一个如此简单的网站,则不需要 selenium。抓取带有请求的网站并在正文标签上拆分结果以获取文本。更简单的代码并避免了 selenium 驱动程序的开销。

    import requests
    
    url = "http://your-url-here.com"
    content = requests.get(url).text
    the_string_youre_looking_for = content.split('<body>')[1].split('</body>')[0]
    

    这就是你要找的吗?如果没有,也许试着改写你的问题,因为很难理解你想让你的代码做什么以及在什么上下文中。

    【讨论】:

    • 嘿,我使用简单的 print(driver.page_source) 解决了这个问题,它给了我完整的 HTML 内容,然后我从中提取了 部分。其他一切都只是在错误之后返回错误。谢谢朋友
    【解决方案3】:

    解决方法

    print(driver.page_source)
    

    我获得了完整的 HTML 内容,并且由于其简单性,使用&lt;body&gt; TAG 很容易提取到所需的内容

    【讨论】:

      猜你喜欢
      • 2022-11-01
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 2021-07-03
      • 1970-01-01
      • 2022-07-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多