python selenium使用百度搜索框搜索的几种方式

selenium有个功能就是可以指挥浏览器,模拟用户使用,比如使用百度自动搜索。

实现的几种方式:
打开百度官网,找到搜索框,使用右键检查功能,找到输入框的节点
selenium

<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">

百度的输入框就在input这个标签中,其属性有class,name,id三个,我们就可以使用它找到输入框并搜索东西。

1、使用class属性定位
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome('D:\Python\Python36\chromedriver.exe')#打开浏览器
driver.get('http://www.baidu.com')#打开百度官网
className = driver.find_element_by_class_name('s_ipt')#使用class="s_ipt"定位
className.send_keys('贵州财经大学') #输入贵州财经大学
className.send_keys(Keys.ENTER)#注意Keys,K是大写

它就模拟浏览器打开百度输入贵州财经大学并回车
在这里插入图片描述
还可以把定位和搜索合并,但不能加.send_keys(Keys.ENTER)模拟回车

driver.find_element_by_class_name('s_ipt').send_keys('贵州财经大学')
2、使用name属性定位
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome('D:\Python\Python36\chromedriver.exe')#打开浏览器
driver.get('http://www.baidu.com')#打开百度官网
name = driver.find_element_by_name('wd')#使用name="wd"定位
name.send_keys('贵州财经大学信息学院')
name.send_keys(Keys.ENTER)#注意Keys,K是大写
3、使用id属性定位
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome('D:\Python\Python36\chromedriver.exe')#打开浏览器
driver.get('http://www.baidu.com')#打开百度官网
input = driver.find_element_by_id('kw') #通过id值定位搜索框
input.send_keys('阿优乐扬')#输入阿优乐扬
input.send_keys(Keys.ENTER)#按回车
4、使用xpath获取节点
xpath = driver.find_element_by_xpath('//form[@id="form"]/span/input[@id="kw"]') #使用xpath定位
5、使用css获取节点
css = driver.find_element_by_css_selector('#kw') #使用css节点定位
  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 Selenium 进行自动化测试时,我们需要对测试结果进行断言以判断测试是否成功。以下是几种使用 Selenium 进行断言的方式: 1. assertEqual() 方法:使用该方法判断实际结果与预期结果是否相等,若不相等则抛出 AssertionError 异常。 ```python from selenium import webdriver import unittest class Test(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() def test_search(self): self.driver.get("https://www.google.com") search_box = self.driver.find_element_by_name("q") search_box.send_keys("Python") search_box.submit() title = self.driver.title self.assertEqual(title, "Python - Google Search") def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main() ``` 2. assertTrue() 方法:使用该方法判断条件表达式是否为 True,若不为 True 则抛出 AssertionError 异常。 ```python from selenium import webdriver import unittest class Test(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() def test_search(self): self.driver.get("https://www.google.com") search_box = self.driver.find_element_by_name("q") search_box.send_keys("Python") search_box.submit() title = self.driver.title self.assertTrue("Python" in title) def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main() ``` 3. assertRaises() 方法:使用该方法判断是否会抛出指定的异常,若不抛出则抛出 AssertionError 异常。 ```python from selenium import webdriver import unittest class Test(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() def test_search(self): self.driver.get("https://www.google.com") with self.assertRaises(NoSuchElementException): search_box = self.driver.find_element_by_name("not_exist") search_box.send_keys("Python") search_box.submit() def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main() ``` 以上是三种常用的断言方式,根据需要选择适合的方法来进行断言。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值