python和selenium的问题:获取元素来显示文本元素

2024-05-15 05:00:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试使用xpath实现一个片段,当我上次询问这个问题时,我将展示我的代码和输出以及所需的输出:

代码:

from re import findall,sub
from lxml import html
from time import sleep
from selenium import webdriver
from pprint import pprint
from xvfbwrapper import Xvfb

def parse(url):
    response = webdriver.Chrome()

    response.get(url)

    otherkeyElement = response.find_element_by_class_name('locu-menu-item-name')

    thekeyElement = response.find_element_by_css_selector('.locu-widget-wrapper #locu-render-output .locu-menu .locu-menu-item .locu-menu-item-name')

    gelkeyElement = response.find_element_by_xpath('//*[@id="locu-medium-container"]/div[1]/div/div[1]/div[2]/div[3]/div[1]/div[1]')

    if otherkeyElement:
        otherkeyElement
        pprint(otherkeyElement)

    if thekeyElement:
        thekeyElement
        pprint(thekeyElement)

    if gelkeyElement:
        gelkeyElement
        print(gelkeyElement)
        sleep(3)

    parser = html.fromstring(response.page_source,response.current_url)

    gelato = parser.xpath('//*[@id="locu-medium-container"]/div[1]/div/div[1]/div[2]/div[2]/div[1]/div[1]')

    for gelatos in gelato:
        print(gelatos)

if __name__ == '__main__':

    parse('http://www.lunarosagelato.com/menu')

这将为类名css selector和xpath输出类似的元素:

<selenium.webdriver.remote.webelement.WebElement 
    (session="01aab8caa61f2362ef2e5d988619d742", element="0.7957563181681526-1")>

你知道吗 你知道吗

我期待的文本是牙买加酸橙索贝托。任何帮助都将不胜感激。你知道吗


Tags: namefromimportdivifresponseelementxpath
1条回答
网友
1楼 · 发布于 2024-05-15 05:00:46

当您打印WebElement时,您会得到它的to_string函数,就像任何其他对象一样。如果您想将文本链接到它,请使用.text

otherkeyElement = response.find_element_by_class_name('locu-menu-item-name')
print(otherkeyElement.text)

相关问题 更多 >

    热门问题