我正在尝试复制元素的xpath,但一直在说xpath不正确
这是我完成的代码:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.bol.com/nl/v/bananago-nl/1067588/")
x = driver.find_element_by_xpath("//*[@id=js_overview']/ul/li[2]/div/div[2]/p/text()[2]")
print(x)
我要复制的元素是文字“ 12 beoordelingen”。让我知道您是否需要更多信息
答案 0 :(得分:0)
您缺少“ js_overview”中的初始单引号。
答案 1 :(得分:0)
要获取文本12 beoordelingen
,您需要先诱导WebDriverWait
和element_to_be_clickable()
来获取元素,然后
推导JavaScript执行器execute_script()
并获得lastChild
textContent
。
尝试下面的代码。
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.bol.com/nl/v/bananago-nl/1067588/")
element=WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,"//div[@id='js_overview']//div[@class='media__body']/p")))
print(driver.execute_script('return arguments[0].lastChild.textContent;', element))