首页 > 其他分享 >selenium爬虫问题汇总

selenium爬虫问题汇总

时间:2022-10-25 10:47:11浏览次数:62  
标签:XPATH 汇总 driver 爬虫 element btn find selenium

基本框架

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains

# 打开driver
driver = webdriver.Edge("./msedgedriver.exe")
# 请求url
driver.get("https://baidu.com")
# 根据XPATH定位元素,如果XPATH定位不到则尝试适用CLASS定位
input = driver.find_element(By.XPATH, '//*[@id="kw"]')
# 往输入框输入元素
input.clear()
input.send_keys("selenium")
# 点击按钮
submit = driver.find_element(By.XPATH, '//*[@id="su"]')
submit.click()

遇到的问题

打开文件乱码

根据文件的编码方式,在打开文件时指定解码方式即可

f = open('test.txt', 'r', encoding='UTF-8')

Message: element not interactable

有些元素会在鼠标移动到其上方后改变自身属性,所以需要模拟鼠标并二次定位

action = ActionChains(driver)
btn = driver.find_element(
    By.XPATH, '//*[@id="app"]/button')
action.move_to_element(btn).perform()
time.sleep(1) # sleep一下等待页面变化完成
new_btn = driver.find_element(
    By.XPATH, '//*[@id="app"]/button')
new_btn.click()

定位不到元素

XPATH失效的时候改用CLASS_NAME

login = driver.find_element(By.CLASS_NAME, 'submit-btn')

标签:XPATH,汇总,driver,爬虫,element,btn,find,selenium
From: https://www.cnblogs.com/yuxiayizhengwan/p/16824058.html

相关文章

  • Python为什么叫爬虫?
    因为python的脚本特性和易于配置,对字符的处理也非常灵活,加上python有丰富的网络抓取模块,所以叫爬虫。1、网络爬虫是指一种按照一定的规则,自动地抓取万维网信息的程序或者脚......
  • python爬虫可以做什么呢?
    1、收集数据Python爬虫程序可用于收集数据,这是最直接和最常用的方法。由于爬虫程序是一个程序,程序运行得非常快,不会因为重复的事情而感到疲倦,因此使用爬虫程序获取大量数据......
  • python爬虫需要什么基础?
    学习Python基础知识并实现基本的爬虫过程一般获取数据的过程都是按照发送请求-获得页面反馈-解析并且存储数据这三个流程来实现的。这个过程其实就是模拟了一个人工浏览网......
  • Selenium常用操作之单选复选框、下拉列表、键盘、截屏、断言、(显式隐式)等待
      1.窗口最大化driver.maximize_window()  2.单选框操作driver.find_element_by_xpath("//input[@value='berry']").click()  3.复选框操作berrCheckBox1=......
  • selenium-浏览器对象属性
    fromwebdriver_helperimportwebdriver,get_webdriverfromseleniumimportwebdriver#defget_all_attr(obj):#"""获取对象的全部属性"""#l=[]#......
  • selenium-页面导航(前进、后退、刷新)
    fromwebdriver_helperimportwebdriver,get_webdriverfromseleniumimportwebdriverdriver=get_webdriver()#实例化,刚启动浏览器是空白页面driver.maximize_wind......
  • 2022级HAUT新生周赛题解汇总
    2022级HAUT新生周赛(零)题解@:2022级HAUT新生周赛(一)题解@卞子骏:2022级HAUT新生周赛(二)题解@武其轩:2022级HAUT新生周赛(三)题解@焦小航:2022级HAUT新生周赛(四)题解@张子豪:202......
  • Spring常见问题解决办法汇总
     解决Theprefix'context'forelement'context:component-scan'isnotbound<beansxmlns="http://www.springframework.org/schema/beans"   xmlns:xsi="http://w......
  • Eclipse常用设置汇总
     设置编码:.    设置字体:   依次展开 Window->Preferences->Java->CodeStyle->Formatter  在右边窗口中找到Edit ·找到LineWrapping ·在Maximumlinewidth......
  • 解决selenium+python 打开浏览器报错 DeprecationWarning executable_path has been d
    报错如下:解决方案:直接上代码如下:#-*-coding:utf-8-*-"""@Time:2022/10/2416:03@Auth:软件测试君@File:wait_demo.py@IDE:PyCharm@Motto:ABC(AlwaysBeCod......