网页中元素的查找
<p class="tang-pass-footerBarULogin pass-link" title="用户名登录" data-type="normal" id="TANGRAM__PSP_11__footerULoginBtn" style="display: block;">用户名登录</p>这个是我在百度首页的元素审查中截取的,用户登录界面。
这里我想选取“用户名登录”,如何查找元素?用哪种方法? 这里我想选取“用户名登录”,如何查找元素?用哪种方法?
什么意思啊?{:9_239:} import requests
from lxml import etree
def main():
url = 'xxx'
headers = {'user-agent': 'firefox'}
r = requests.get(url, headers=headers)
html = etree.HTML(r.text)
result = html.xpath('//p[@title="用户名登录"]')
print(result)
if __name__ == '__main__':
main() suchocolate 发表于 2021-7-19 21:05
谢谢啊,但是在这个我没有学过。我现在学习selenium,能用selenium编个程序我看看吗? 江湖散人 发表于 2021-7-19 22:45
谢谢啊,但是在这个我没有学过。我现在学习selenium,能用selenium编个程序我看看吗?
把具体的网页URL发出来。 suchocolate 发表于 2021-7-20 09:09
把具体的网页URL发出来。
https://www.baidu.com/ 江湖散人 发表于 2021-7-20 09:30
https://www.baidu.com/
from selenium import webdriver
from selenium.webdriver import Firefox
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.support import expected_conditions as expected
from selenium.webdriver.support.wait import WebDriverWait
if __name__ == '__main__':
url = 'https://www.baidu.com'
browser = webdriver.Firefox()
browser.get(url)
# 创建wait对象,等待10s
wait = WebDriverWait(browser, 10)
# 等待【登陆】按钮出现
wait.until(expected.visibility_of_element_located((By.ID, 's-top-loginbtn')))
# 登陆按钮出现后点击
browser.find_element_by_id('s-top-loginbtn').click()
# 等待出现【用户名登陆】,出现后点击
wait.until(expected.visibility_of_element_located((By.ID, 'TANGRAM__PSP_11__footerULoginBtn')))
browser.find_element_by_id('TANGRAM__PSP_11__footerULoginBtn').click()
# 找到用户名输入框,输入账号名;找到密码框,输入密码;最后找到登陆按钮登陆。
browser.find_element_by_id('TANGRAM__PSP_11__footerULoginBtn').send_keys('user')
browser.find_element_by_id('TANGRAM__PSP_11__password').send_keys('password')
browser.find_element_by_id('TANGRAM__PSP_11__submit').click()
suchocolate 发表于 2021-7-20 10:20
谢谢
页:
[1]