Python Selenium在给定的xpath中打印html代码
我使用的是Selenium,如果没有文本,我想在给定的Xpath中打印HTML代码,代码如下:Python Selenium在给定的xpath中打印html代码,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,我使用的是Selenium,如果没有文本,我想在给定的Xpath中打印HTML代码,代码如下: from bs4 import BeautifulSoup import requests from selenium import webdriver driver = webdriver.Chrome('chromedriver') driver.get("link") code=driver.find_element_by_x
from bs4 import BeautifulSoup
import requests
from selenium import webdriver
driver = webdriver.Chrome('chromedriver')
driver.get("link")
code=driver.find_element_by_xpath('/html/body/div[1]/section/main/div/div[2]/article/div/div/div[1]/div[1]')
print("HTML code:\n", code)
from selenium import webdriver
import time
driver = webdriver.Chrome('chromedriver')
driver.get("https://www.google.com/")
time.sleep(3)
code = driver.find_element_by_xpath('//*[@id="tsf"]/div[2]/div[1]/div[3]/center/input[2]').get_attribute('outerHTML')
print("HTML code:\n",code)
driver.close()
但它返回的是:
<selenium.webdriver.remote.webelement.WebElement (session="8f119595825f509ba283758a8f2c754d", element="d2d5b697-253c-4ee9-99c0-7075adc28a1a")>
如果您需要内部文本,这应该可以使用
打印(code.text)
如果需要该值,这应该可以工作
print(code.get\u属性(“值”)
我认为您正在尝试打印给定webelement
的html代码。为此,您可以访问该元素的outerHTML
属性。以下是您的操作方法:
code = driver.find_element_by_xpath('/html/body/div[1]/section/main/div/div[2]/article/div/div/div[1]/div[1]').get_attribute('outerHTML')
print("HTML code:\n",code)
完整代码:
from selenium import webdriver
import time
driver = webdriver.Chrome('chromedriver')
driver.get("link")
time.sleep(3)
code = driver.find_element_by_xpath('/html/body/div[1]/section/main/div/div[2]/article/div/div/div[1]/div[1]').get_attribute('outerHTML')
print("HTML code:\n",code)
driver.close()
我用谷歌的按钮尝试了同样的方法,只是为了检查我的代码是否有效。下面是代码:
from bs4 import BeautifulSoup
import requests
from selenium import webdriver
driver = webdriver.Chrome('chromedriver')
driver.get("link")
code=driver.find_element_by_xpath('/html/body/div[1]/section/main/div/div[2]/article/div/div/div[1]/div[1]')
print("HTML code:\n", code)
from selenium import webdriver
import time
driver = webdriver.Chrome('chromedriver')
driver.get("https://www.google.com/")
time.sleep(3)
code = driver.find_element_by_xpath('//*[@id="tsf"]/div[2]/div[1]/div[3]/center/input[2]').get_attribute('outerHTML')
print("HTML code:\n",code)
driver.close()
输出:
HTML code:
<input class="RNmpXc" value="I'm Feeling Lucky" aria-label="I'm Feeling Lucky" name="btnI" type="submit" jsaction="sf.lck" data-ved="0ahUKEwiFpYWc4uHsAhVy63MBHY3fBdMQ19QECAw">
HTML代码:
您想要html中的值还是整个div中的值?我已经尝试过了,但是因为代码不包含任何文本,所以它不会返回任何内容。谢谢。