尽管 python selenium 中的文档可用,但元素不可见

2024-06-23

页面链接: https://contacts.google.com/u/1/?pageId=none https://contacts.google.com/u/1/?pageId=none

Desired:我想通过单击附图中突出显示的 SVG 插入符号图标来选择所有联系人。

面临的问题:出现错误元素不可见 on svgicon.click()。尽管根据所附图像,元素在可见 DOM 中显然可用。

观察:我注意到,如果我们手动单击插入符号图标,则会通过 JavaScript 插入 DropDown html 代码,而在任何其他主体上单击,则会删除 DropDown html 代码。

我知道以下用于实现所需的代码语句是正确的并且可以工作,但不会填充 DropDown 。任何帮助深表感谢。

//find & click on SVG icon

svgicon = driver.find_element_by_css_selector('div.PFdmz .uzHa0d .RANAid[role="button"]')
svgicon.click()

//click on all link post dropdown appears
wait5.until(EC.presence_of_element_located((By.XPATH, '//div[@class = "jO7h3c" and text() = "All"]'))).click()

DOM图像

编辑 1 - 选择所有复选框的示例 Javascript 工作

t=0
for _ in range(len(driver.find_elements_by_css_selector('.XXcuqd div[role="checkbox"]'))):
    cimgs = driver.find_elements_by_css_selector('.XXcuqd div[role="checkbox"]')
    ActionChains(driver).move_to_element(cimgs[t]).perform()
    driver.execute_script("arguments[0].click();", cimgs[t])
    t = t+1

如果我们可以使用这种方法来减少标记所有复选框所花费的时间(一次性代替使用动作链),那么这也将解决问题。在任何时候我都会有 10000 多个联系人参与此活动。


由于某种原因,您需要双击该图标:

import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
import time

driver=webdriver.Firefox()
# Log into Google.
url = "https://accounts.google.com/signin/v2/identifier?hl=en&passive=true&continue=https%3A%2F%2Fwww.google.com%2F&flowName=GlifWebSignIn&flowEntry=ServiceLogin"
driver.get(url)
time.sleep(1)
username = driver.find_element_by_id('identifierId')
username.send_keys("REDACTED")
time.sleep(1)
driver.find_element_by_id('identifierNext').click()
time.sleep(1)
password = driver.find_element_by_name('password')
password.send_keys("REDACTED")
time.sleep(1)
driver.find_element_by_id('passwordNext').click()
time.sleep(1)

url="https://contacts.google.com/"
driver.get(url)
time.sleep(1)
# Select the first contact and click on it to open the desired menu.
contact = driver.find_element_by_css_selector("div[role='checkbox']")
contact.click()
time.sleep(1)
# Double click the selected action icon to open menu.
svgicon = driver.find_element_by_css_selector("div[data-tooltip='Selection actions']")
ActionChains(driver).move_to_element(svgicon).double_click().perform()
time.sleep(1)
# Click the "All" button.
selectall = driver.find_element_by_xpath("//*/div[text()='All']")
selectall.click()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尽管 python selenium 中的文档可用,但元素不可见 的相关文章

  • 使用 selenium 和 python 在网页网格中抓取 javascript 数据

    我的问题是我需要包含网站子域的网格中的所有数据https applipedia paloaltonetworks com https applipedia paloaltonetworks com 包含名称 类别 子类别 风险 技术的数据
  • Python Flask 删除请求

    我正在开发一个 Python 应用程序并使用 Flask 这是我的 DELETE 函数 app route DeleteMessage methods DELETE def DeleteMessage messages Message qu
  • 使用 setuptools (pip) 时如何打印警告和错误

    我正在使用 setuptools 来打包代码 以便可以使用以下命令轻松安装它 cd project name pip install 在设置过程中 我想警告用户有关预先存在的配置文件的信息 并在系统上打印一些安装后说明 例如 etc pro
  • 在 PyCharm 中启用终端模拟

    很多人告诉过我和PyCharm 2 7 的 PyCharm 发行说明 https www jetbrains com pycharm whatsnew whatsnew 27 html吹捧那个PyCharm包括完整的终端仿真 我认为这是关于
  • 如何在嵌套列表中查找给定元素?

    这是我的迭代解决方案 def exists key arg if not arg return False else for element in arg if isinstance element list for i in elemen
  • 使用 cx_oracle 返回 MERGE 中受影响的行数

    如何在 CX Oracle 中执行 MERGE INTO sql 命令来获取受影响的行数 当我在cx oracle 上执行MERGE SQL 时 我得到的cursor rowcount 为 1 有没有办法获取受合并影响的行数 由于 cx o
  • 如果每个元组中的第二项重复,如何从元组列表中删除元素?

    如果每个元组中的第二项重复 如何从元组列表中删除元素 例如 我有一个按第一个元素排序的列表 如下所示 alist 0 7897897 this is a foo bar sentence 0 653234 this is a foo bar
  • ValueError:字符 U+6573552f...Py2aap

    我制作了一个非常简单的程序 我正在尝试将其导出到应用程序文件 我目前正在使用 Python 3 6 和 py2app 将 py 文件转换为 app 所以我创建了安装文件 from setuptools import setup OPTION
  • 为什么我的字符串中出现不需要的换行符?

    这应该很简单 这很愚蠢 但我无法让它发挥作用 我有一个在读取文件时定义的标头 if gene env in line or gene HIV2gp7 in line header line 现在这个标题看起来像 gt lcl NC 0018
  • os.walk 无需深入研究下面的目录

    我该如何限制os walk只返回我提供的目录中的文件 def dir list self dir name whitelist outputList for root dirs files in os walk dir name for f
  • Python Jinja2 调用宏会导致(不需要的)换行符

    我的 JINJA2 模板如下所示 macro print if john name if name John Hi John endif endmacro Hello World print if john Foo print if joh
  • Python 中没有名称属性的表单提交

    背景 在Python中使用urllib和urllib2 您可以进行表单提交 您首先创建一个字典 formdictionary search stackoverflow 然后使用 urllib 的 urlencode 方法来转换这个字典 pa
  • 如何为 PyYAML 编写代表程序?

    我想要一个自定义函数来序列化任意 python 对象 就像 json dump 函数有一个名为 default 的可选参数 如果对象不是 json 可序列化的 它应该是 json 转储器将调用的函数 我只是想从 json 包中执行相当于此操
  • python 函数中的对象不可迭代错误

    我有一个简单的功能如下 comdList range 0 27 for t in comdList print t 但是它返回一个 in object not iterable 错误 在函数之外它工作正常 这是怎么回事 尝试这个 for t
  • 将列表列表替换为“压缩”列表列表,同时保持顺序

    我有一个列表列表 如我所附的代码所示 如果有任何共同值 我想链接每个子列表 然后我想用列表的精简列表替换列表的列表 例子 如果我有一个清单 1 2 3 3 4 I want 1 2 3 4 如果我有 4 3 1 2 3 I want 4 3
  • 如何忽略 Sentry 捕获中的某些 Python 错误

    我已将 Sentry 配置为捕获 Django Celery 应用程序中的所有错误 它工作正常 但我发现一个令人讨厌的用例是当我必须重新启动我的 Celery 工作人员 PostgreSQL 数据库或消息服务器时 这会导致数千种各种 无法访
  • 如何隐藏 Tkinter python Gui

    有人知道如何隐藏 python GUI Tkinter 我已经创建了键盘记录器 对于 GUI 我使用了 python 模块 Tkinter 我想添加名为 HIDE 的按钮 因此当用户单击它时 它将隐藏 GUI 当用户按下 CTRL E 之类
  • 如何让 Python 生成器返回 None 而不是 StopIteration?

    我使用生成器在列表中执行搜索 如下简单示例 gt gt gt a 1 2 3 4 gt gt gt i for i v in enumerate a if v 4 next 3 只是为了稍微说明一下示例 与上面的列表相比 我使用的列表要长得
  • 无法将 类型的对象转换为张量

    我正在编写一个使用 Flask 框架的客户端 python 文件 并在 docker 机器中运行它 因此 这需要一个输入文件并生成它的输出 但它会抛出无法转换为张量的错误 tf app flags DEFINE string server
  • 定义Python类时,如何在其中设置随机变量?

    假设我有一个名为Person 其中只有该人的姓名和性别 性别应从男性和女性中随机选择 为此 我导入random randint 功能 根据随机int确定随机性别 import random class Person alias random

随机推荐

  • 即使类位于包中,也无法从 tomcat 服务器运行我的 servlet

    我正在尝试让我的 servlet 运行 我已经搜索了 2 天并尝试了所有可能的解决方案 但没有成功 servet 类位于适当的文件夹中 即在包名称下 我还将 servlet 中所需的 jar 文件添加到 lib 文件夹中 web xml 文
  • Class.getResource 和 ClassLoader.getSystemResource:是否有理由选择其中之一?

    我都看到了Class getResource and ClassLoader getSystemResource用于在 Java 中定位资源 有什么理由更喜欢其中一个而不是另一个 加载资源有多种方式 每种方式的含义略有不同 ClassLoa
  • 协作投票算法的用户分布

    我的应用程序 实际上是一个游戏 的用户回答问题即可获得积分 问题由其他用户提供 由于数量有限 我无法亲自检查所有内容 因此我决定将过滤过程众包给用户 玩家 规则很简单 每个用户都会看到一个问题来评价好 坏 不确定 当问题被评为 差 5 次时
  • 在 SQL Developer 中设置 sybase DB 连接?

    我们可以使用 SQL Developer 连接到 sybase 数据库服务器吗 如果是的话我们需要进行哪些配置设置 我们可以在Oracle目录中使用相同的tnsname ora文件还是需要单独安装sybase客户端来获取连接信息 在 Ora
  • 客户端设置了 multipart/form-data 请求的文件部分的内容类型错误

    我正在尝试发送multipart form data使用以下 JavaScript 和 jQuery var formData new FormData formData append projectName projectNameInpu
  • SRC_URI 在 bitabake 配方中不起作用

    我创建了一个用于安装的 bitbake 配方https pypi python org pypi Adafruit GPIO 1 0 3 https pypi python org pypi Adafruit GPIO 1 0 3蟒蛇包 以
  • 使用制表符作为空格时删除制表符

    我知道一般的制表符与空格的关系由来已久 并且主要取决于个人喜好 坚持团队的风格 我只是想问一个有关在 Visual Studio 中使用空格的实际问题 关于选项卡的某些事情让我烦恼 当我们是一个小团队时 我不介意更改为空格 这对于首先编写代
  • 核心数据实体关系在启动之间不会保存

    我正在编写一个应用程序 它有四个主要实体 它们都通过关系链接 有些是一对一 有些是一对多 初始加载时 三个实体从本地存储的 XML 文件加载数据到应用程序 其中一个实体从 Web 下载 XML 并从中加载数据 当应用程序加载时 它会执行检查
  • Mercurial:应用从稳定命名分支到开发分支的错误修复更改

    我的仓库中有这两个命名分支 稳定且开发 我的问题是如何将稳定版中更改的错误修复补丁复制到开发分支 我真的很想在框架内执行此操作 而不是使用任何扩展 EDIT 我为这个问题设置了赏金 因为我真的想要解决方案 有一个很好的解决方案 但中途被搁置
  • 如何统计MONGODB中所有唯一值? [复制]

    这个问题在这里已经有答案了 date 2017 09 04 description DD from my employer1 amount 1000 33 date 2017 09 06 description DD from my emp
  • 此版本的 OSX 无法执行必要的 dSYM 转换

    31merror could not complete submission of dSYM at Users XXUSERXX Library Developer Xcode DerivedData ProjectName flcouee
  • 使用 Google 帐户作为登录...下一步是什么?

    我正在开发一个 Android 应用程序 它将有一个类似 api 的服务器端 而且这个应用程序将有用户登录机制 我想使用 google fb twitter 帐户作为登录信息 因为该应用程序的用途非常社交化 我已经阅读过有关使用手机中存储的
  • .Net 中忽略 PC 区域和语言设置

    我知道我并不孤单 但我还没有找到解决方案 我的电脑区域和语言设置均为英语 英国 但 Net 使用美国格式的日期和货币 我检查了机器配置和 Web 配置 没有全球化设置 我不想添加它们 还有我错过的其他设置吗 您使用 ASP NET 标记 我
  • $.Post 不包含任何回复

    我有一个 php来自另一台处理数据的服务器的文件 该数据已制成表格 所以每当我使用调用此页面时 post如果参数正确 它的反应就不会是什么 我检查了我的代码 也许标题是对此负责的 我实际上想要的是返回我的表格数据 以便我可以将其填充到另一个
  • JavaScript 重定向 - 新窗口

    我正在尝试使用 Javascript 从空白 iframe 内部创建一个重定向 该重定向将定向到新窗口或选项卡内的 URL 更具体地说 我试图使 Facebook 选项卡指向我公司的网页 而不是将页面加载到选项卡的 iframe 内 该 i
  • 无法在 servlet 过滤器中写入新响应

    我正在尝试读取当前响应并尝试用新数据覆盖响应 但目前我还无法这样做 我总是以 GetWriter 已经被调用的异常结束 这就是我想做的 我想读取响应 修改它并在过滤器中写入新的响应 我无法正常执行此操作 因为该过程是由 swagger sp
  • HTML 日期时间本地更改事件?

    有没有办法处理 日期时间选择 事件
  • wordpress 利用浏览器缓存

    当我使用 W3 Total Cache 并正确启用所有内容时 不明白为什么 PageSpeed 对 利用浏览器缓存 的评分很差 https developers google com speed pagespeed insights url
  • 使用 Python 捕获 TCP 数据包

    我尝试使用 dpkt 和 pcap 通过 Python 捕获 HTTP 下载 代码看起来像 pc pcap pcap iface for ts pkt in pc handle packet pkt def handle packet pk
  • 尽管 python selenium 中的文档可用,但元素不可见

    页面链接 https contacts google com u 1 pageId none https contacts google com u 1 pageId none Desired 我想通过单击附图中突出显示的 SVG 插入符号