如何使用selenium python动态单击加载按钮?

2024-03-08

我想点击装载更多直到它消失在该页面上。

我已经尝试过,但有时会起作用或出现错误。我所做的并不是完美的解决方案。

我可以有列表中的多个 url并一一击打装载更多直到它从该页面消失。

预先感谢您的帮助。

Code

driver = webdriver.Firefox()

url = ["https://www.zomato.com/HauzKhasSocial","https://www.zomato.com/ncr/wendys-sector-29-gurgaon","https://www.zomato.com/vaultcafecp"]
for load in url:
    driver.get(load)
    xpath_content='//div[@class = "load-more"]' 
    temp_xpath="true"
    while temp_xpath: 
        try:  
            #driver.implicitly.wait(15)
            #WebDriverWait(driver, 30).until(EC.visibility_of_element_located((By.XPATH,xpath_content))) 
            WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.XPATH,xpath_content)))
            #urls=driver.find_element_by_xpath(xpath_content) 
            urls=driver.find_element_by_xpath(xpath_content)
            text=urls.text
            if text:
                temp_xpath=text  
            print "XPATH=",temp_xpath  
            driver.find_element_by_xpath(xpath_content).click()
            #driver.execute_script('$("div.load-more").click();')  
        except TimeoutException:
            print driver.title, "no xpath of pagination"
            temp_xpath=""
            continue

大多数时候,我在运行程序时会遇到以下错误。

 File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 173, in execute
response = self.command_executor.execute(driver_command, params)
 File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py", line 349, in execute
return self._request(command_info[0], url, body=data)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py", line 380, in _request
resp = self._conn.getresponse()
File "/usr/lib/python2.7/httplib.py", line 1045, in getresponse
response.begin()
File "/usr/lib/python2.7/httplib.py", line 409, in begin
version, status, reason = self._read_status()
File "/usr/lib/python2.7/httplib.py", line 373, in _read_status
raise BadStatusLine(line)
httplib.BadStatusLine: ''

您可能会收到 BadStatus 错误,因为最新版本的 Selenium Webdrivers 中已修复了一个错误。我最近遇到了类似的情况,这是与开发人员的讨论主题,帮助我解决了这个问题。

https://bugs.chromium.org/p/chromedriver/issues/detail?id=1548 https://bugs.chromium.org/p/chromedriver/issues/detail?id=1548

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用selenium python动态单击加载按钮? 的相关文章

随机推荐

  • 从前台服务观察LiveData

    我有一个存储库 其中包含 LiveData 对象并由两者使用 通过 ViewModel 的 Activity 和前台服务 当我开始从活动中观察时 一切都按预期进行 但是 从服务中进行观察不会触发观察 这是我使用的代码 class MySer
  • Google 地图 - 如何获取两点之间的距离(以米为单位)?

    我有这些坐标 45 463688 9 18814 46 0438317 9 75936230000002 我需要 我认为是通过 Google API V3 来获取这两点之间的距离 以米为单位 我该怎么做 如果您想使用 v3 谷歌地图 API
  • 如何开始制作 C# RSS 阅读器?

    我想做一个 RSS 阅读器有一段时间了 只是为了好玩 但我完全不知道从哪里开始 我对RSS一无所知 有没有关于 RSS 的好的教程以及如何在应用程序中实现它 不是关于如何制作 RSS 阅读器的教程 那太简单了 See http msdn m
  • 变量名中的美元符号

    我偶然发现了一些像这样的 C 代码 int T S 首先我以为这是某种PHP https en wikipedia org wiki PHP代码或错误粘贴在那里的东西 但它可以很好地编译和运行 在2008年MSVC https en wik
  • Scikit Learn SVC Decision_function 和预测

    我试图理解 Decision function 和 Predict 之间的关系 它们是 SVC 的实例方法 http scikit learn org stable modules generated sklearn svm SVC htm
  • 如何使用新的controllerAs语法和面向对象的控制器在Angular中实现两种方式的绑定?

    我害怕 范围汤 人们将太多的功能挂在 scope 之外 因此 我正在尝试面向 OO 的控制器 新的controllerAs 并在我的控制器中使用 EC5 样式的 getter setter 这很有效 但现在我想以两种方式将指令的范围绑定到控
  • React CSS 模块 - 某些 CSS 未应用(对于 NavLink 组件设置的“活动”类)

    我的CSSactive class尽管 CSS 的其余部分实际上已应用 但似乎并未应用到渲染的组件上 CSS 是使用CSS 模块应用的 自从NavLinkReact router dom 包的组件将类设置为活动类 我在 CSS 文件中选择了
  • 在更改图像资源时在 ImageView 上创建动画

    我只有一个ImageView在我的布局中 当检测到气体事件时 我正在更改其资源 我只想在更改 ImageView 资源时显示动画 我可以用吗ViewFlipper with one图像视图 对于单个图像视图 您可以使用此辅助函数 publi
  • Pandas:如何将某些列移动到行中?

    假设我有df以下 我想合并价格列和价值列 以便所有价格都在一个列中 所有数量都在另一列中 我还想要第三列来确定价格水平 例如 unit1 unit2 and unit3 import numpy as np import pandas as
  • Numpy:ValueError:所需数组的对象深度太小

    我正在尝试将 MATLAB 代码转换为 Python 但我不知道如何将此行导入到 Python YDFA xa p interp1 data 1 data 2 YDFA lam p 1e9 linear 1e 24 现在对于 Python
  • 将文本列表格式化为列

    我正在尝试将字符串值列表输出为 2 列格式 将字符串列表制作为 普通文本 的标准方法是使用字符串连接方法 但是 它只需要 2 个参数 因此我只能使用 n 创建一个列 我认为尝试创建一个循环 只需在列之间添加一个选项卡就可以做到这一点 但逻辑
  • 如何在sbt项目中声明对Scalding的依赖?

    我想弄清楚如何创建一个build sbt为我自己的文件Scalding https github com twitter scalding为基础的项目 烫源结构无build sbt文件 相反 它有project Build scala构建定
  • 无法安装Python和GDAL(DLL加载失败)

    我正在尝试在我的 Windows 7 工作站上安装 GDAL 和 Python Python 版本 2 6 6 Gdal 1 8 视觉 Visual C Studio 2010 Express 我按照以下说明进行操作http ucsb pb
  • 欺骗 IP 地址以使用 Sitecore 8 测试 GEOIP 查找

    我是 Sitecore 的新手 我正在尝试实现以下流程类来覆盖GeoIP用于测试目的的值 我找不到在哪个名称空间Tracker 类位于 请注意 我正在使用站点核心 8托管在本地主机上 Sitecore 博客 sitecorejohn 博客
  • 通过 Python winreg 在注册表中设置 Windows 系统路径

    我编写了一个程序 通过注册表将目录添加到 PATH 变量 HKCU 用户 或 HKLM 系统 路径 具体取决于输入选项 使用用户路径时效果很好 但是 当设置系统路径时 Windows 会认为路径变量为空 例如 notepad is not
  • 无法重现:C++ Vector 性能优于 C# List 性能

    在 Microsoft 的 BUILD 会议上 Herb Sutter 解释说 C 有 真实数组 而 C Java 语言没有相同或类似的东西 我被卖了 您可以在这里观看完整的演讲http channel9 msdn com Events B
  • SimpMessagingTemplate 与 MessageSendingOperations

    我刚刚开始研究 Spring 4 stomp over websocket 这两者有什么区别 我应该使用哪种情况而不是另一种情况 没有区别 MessageSendingOperations是一个接口 契约 SimpMessagingTemp
  • .NET 反射的成本有多高?

    我经常听说反射的使用有多么糟糕 虽然我通常会避免反思 并且很少发现没有反思就无法解决问题的情况 但我想知道 对于那些在应用程序中使用反射的人来说 您是否测量过性能影响 它真的有那么糟糕吗 在他的演讲中日常事物的表现 http weblogs
  • 在回流中,我如何从asp.net web api获取数据

    我正在使用reactjs的回流 从Store的回流动作中 我编写了一个动作来从asp net web api获取数据 我认为这只是获取使用ajax的数据的唯一方法 有人跟我说 我可以使用插件jquery获取数据 但我不这样做不要相信它 因为
  • 如何使用selenium python动态单击加载按钮?

    我想点击装载更多直到它消失在该页面上 我已经尝试过 但有时会起作用或出现错误 我所做的并不是完美的解决方案 我可以有列表中的多个 url并一一击打装载更多直到它从该页面消失 预先感谢您的帮助 Code driver webdriver Fi