Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Selenium在给定的xpath中打印html代码_Python_Selenium_Selenium Webdriver - Fatal编程技术网

Python 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

我使用的是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_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中的值?我已经尝试过了,但是因为代码不包含任何文本,所以它不会返回任何内容。谢谢。