selenium常见问题(网页缩放、滑动,元素获取不到......)

这篇具有很好参考价值的文章主要介绍了selenium常见问题(网页缩放、滑动,元素获取不到......)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Selenium无法点击元素,报错:ElementClickInterceptedException:element click intercepted

selenium 缩放,selenium,python,爬虫
解决办法:文章来源地址https://www.toymoban.com/news/detail-547263.html

  • 方法一:
    element = driver.find_element_by_xpath("表达式") driver.execute_script("arguments[0].click();", element)
  • 方法二:
    element = driver.find_element_by_xpath('表达式') webdriver.ActionChains(driver).move_to_element(element ).click(element ).perform()

2. selenium操作下拉滚动条方法

  • 方法一 使用js脚本直接操作:
    js = "var q=document.getElementById('id').scrollTop=10000" driver.execute_script(js)
  • 方法二 使用JavaScript脚本将滚动条拖动到指定地方:
    target = driver.find_element_by_id("id_keypair") # 需要将滚动条拖动至的指定的元素对象定位 driver.execute_script("arguments[0].scrollIntoView();", target) # 将滚动条拖动到元素可见的地方
  • 方法三 根据页面显示进行变通(在本实例中的页面中,密码是输入框,正常手工操作时,可以通过tab键可以从用户框切换到密码框中,所以根据此思路,在python中也可以发送tab键来切换,使元素显示。):
    from selenium.webdriver.common.keys import Keys # 导入Keys类 driver.find_element_by_id("id_login_method_0").send_keys(Keys.TAB) # 定位元素并操作输入
  • 方法四 send_keys(Keys.END) 模拟向页面发送空格键:
    注意: 发送空格键的元素应该是整个页面对象,比如说定位到页面body后进行操作
#coding=utf-8
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.common.exceptions import TimeoutException
    from selenium.webdriver.common.action_chains import ActionChains
    browser=webdriver.Chrome("G:/dj/chromedriver.exe")
    wait=WebDriverWait(browser,10)
    browser.set_window_size(1400,900)
    import time
    def search():
        try:
            browser.get("https://www.taobao.com")
            total=wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,"body > div:nth-child(29)")))
            for i in range(5):
                 browser.find_element_by_tag_name('body').send_keys(Keys.Space)
                 time.sleep(1)
        except TimeoutException:
            search()
    search()
  • 方法五 使用鼠标操作:
#coding=utf-8
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.common.exceptions import TimeoutException
    from selenium.webdriver.common.action_chains import ActionChains
    browser=webdriver.Chrome("G:/dj/chromedriver.exe")
    wait=WebDriverWait(browser,10)
    browser.set_window_size(1400,900)
    import time
    def search():
        try:
            browser.get("https://www.taobao.com")
            total=wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,"body > div:nth-child(29)")))
            target = browser.find_element_by_css_selector('body > div:nth-child(29)')
            actions = ActionChains(browser)
            actions.move_to_element(target)
            actions.perform()
        except TimeoutException:
            search()
    search()

3. 等待元素加载

#创建WebDriverWait对象
    wait = WebDriverWait(browser, 10)
	wait.until(expected_conditions.visibility_of_element_located((By.XPATH,  'elemental')))

4. 缩放页面

script = "document.body.style.zoom='75%'"
driver.execute_script(script)

到了这里,关于selenium常见问题(网页缩放、滑动,元素获取不到......)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 干货整理,Selenium 自动化测试常见异常问题 +解决方法(详细)

    异常1:Stale Element Reference Exception 直译异常 Stale Element Reference Exception:陈旧元素引用异常 首先,啥情况下会出现这异常 简单来说就是,页面元素过期了,无法引用元素 出现这异常的常见原因 The element has been deleted entirely:该元素已被删除【更常见】 The element is no longer attac

    2024年02月08日
    浏览(33)
  • Selenium安装WebDriver:最新ChromeDriver谷歌驱动及闪退等常见问题(114及其以后的版本)

    点击进去可以看到下载链接   截止2023.9.12我的谷歌浏览器版本是 116.0.5845.188(正式版本) 我选择了  116.0.5845.96  ( r1160321 )(最后一个) 随着版本更新,大家要根据自己浏览器版本进行选择相应驱动,尽量保证驱动版本和浏览器版本一致,前三位保持一致一般就可以正常使

    2024年02月22日
    浏览(49)
  • 解决selenium访问网页中多个iframe,导致无法锁定元素的问题

    获取全部的iframe列表 调试获取目标iframe 使用: browser.switch_to.frame(目标iframe) 退回到原有的状态: browser.switch_to.default_content() 不同的iframe之间的元素无法被selenium锁定,因此需要通过人为调试,得到具体的iframe窗口,进入目标iframe后才能够进行元素的锁定,锁定后就得到目标

    2024年02月22日
    浏览(32)
  • RabbitMQ常见问题以及实际问题解决

    ** ** 消息可靠性问题: 消息从生产者发送到Exchange,再到queue,再到消费者,有哪些导致消息丢失的可能性? 发送时丢失: - 生产者发送的消息为送达exchange - 消息到达exchange后未到达queue MQ宕机,queue将消息丢失 consumer接收到消息后未消费就宕机 ①生产者消息确认 RabbitMQ提供

    2024年02月16日
    浏览(34)
  • 掌握Selenium魔法:获取和操作网页元素的完整指南

    目录 一、获取网页中的指定元素 1、通过ID获取元素 2、通过类名获取元素 3、通过标签名获取元素  二、在元素中输入信息 三、总结         Selenium是一个强大的工具,用于自动化Web浏览器中的交互操作。在Python中,我们可以使用Selenium来获取和操作网页中的指定元素,本

    2024年04月22日
    浏览(29)
  • selenium(四)元素常见操作

    2024年02月05日
    浏览(31)
  • Java开发中的常见问题和解决方法:如何解决常见的性能和bug问题

      在Java开发中,我们经常会面临各种各样的问题,包括性能问题和Bug。这些问题可能会导致应用程序的运行变慢、不稳定甚至崩溃。本文将介绍一些常见的Java开发问题,并提供解决这些问题的方法和技巧,帮助开发人员更好地处理性能和Bug问题。 性能问题是Java开发中最常见

    2024年02月09日
    浏览(39)
  • Git常见问题与使用实际问题记录。

    git stash 是 Git 版本控制系统提供的一个命令,用于临时保存当前工作目录的修改。当您在进行代码开发时,可能会遇到需要暂时切换到其他分支或处理其他任务的情况,但又不想提交当前的修改。这时,您可以使用 git stash 命令来保存这些修改,以便稍后恢复并继续工作。

    2024年02月04日
    浏览(44)
  • SAP 常见问题大全及问题解决大全

    1.A:在公司代码分配折旧表时报错?     在公司代码分配折旧表时报错,提示是“3000 的公司代码分录不完全-参见长文本”  希望各位大侠帮我看看。 3000 的公司代码分录不完全-参见长文本  R: a.你把零进项税的代码分配给这个公司代码就可以了 .没有指定非税代码,OBCL   

    2024年02月06日
    浏览(31)
  • 使用Selenium对网页元素进行定位的诸种方法!

    使用Selenium进行自动化操作,首先要做的就是通过webdriver的get()方法打开一个URL链接。 在打开链接,完成页面加载之后,就可以通过Selenium提供的接口,在页面上进行各种操作了,下面我们来了解一下如何在查找元素。 在上一篇的示例中,我们就演示了如何通过find_element_by_

    2024年04月10日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包