如何使用 selenium 获取当前网页

Posted

技术标签:

【中文标题】如何使用 selenium 获取当前网页【英文标题】:How to get the current web page using selenium 【发布时间】:2018-03-01 03:15:51 【问题描述】:

我使用 selenium 获取网页,我发送 kenword 获取新页面。但是我怎样才能得到新的网页,并搜索我需要的信息


browser = webdriver.Chrome()

test_url = 'https://www.baidu.com/'

browser.get(test_url)


in_put = browser.find_element_by_xpath('//*[@id="kw"]')
name = 'python'

in_put.send_keys(name.decode())
button = browser.find_element_by_xpath('//*[@id="su"]')
button.click()


page = browser.page_source

with open('baidu.html','wb') as f:
    f.write(page)

请原谅我没有使用降价。我的问题:我想在搜索关键字后得到网页,但我写的是 browser.page_source ,它是百度的主页

【问题讨论】:

How do I get current URL in Selenium Webdriver 2 Python?的可能重复 谢谢,它解决了我的问题 【参考方案1】:

在 python 上使用 selenium 获取当前页面 URL

browser.current_url

而不是

browser.page_source

这是修改后的代码:

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('https://www.baidu.com/')
in_put = browser.find_element_by_xpath('//*[@id="kw"]').send_keys('python')
button = browser.find_element_by_xpath('//*[@id="su"]').click()
page = browser.current_url
print(page)
with open('baidu.html', 'w') as f:
    f.write(page)

输出:

https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=python&rsv_pq=c42791f700000914&rsv_t=d395wla6YQdEj168mrNDyE2%2FUMDzBUE3I%2FcwHbURsI%2FZ5TUaGFq1o83M2Qc&rqlang=cn&rsv_enter=0&rsv_sug3=6&inputT=610&rsv_sug4=611

【讨论】:

以上是关于如何使用 selenium 获取当前网页的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Selenium WebDriver 和 python 获取 Web 元素的颜色?

如何使用Selenium从网页获取所有元素?

如何在python中使用Selenium WebDriver获取整个网页源[重复]

如何在 selenium 驱动程序中获取整个页面的 innerHTML?

Selenium - 如何获取复选框的当前状态?

如何在 Selenium 中获取当前页面的 Web 加载 HTML?