gpt4 book ai didi

python - 在 Python 3 中为 Selenium 的弹出菜单项查找 CSS 选择器

转载 作者:行者123 更新时间:2023-11-28 04:36:42 25 4
gpt4 key购买 nike

我正在尝试为 friend 制作一个 DeviantART Llamabot 作为我使用 Python 3 的第一个 Selenium 元素。除了能够找到“给 llama”按钮之外,我的机器人 99% 都在工作。

问题似乎是按钮出现在下面的菜单是一个弹出窗口,我不能在 Firefox 中右键单击并选择“复制 css 选择器”。一旦我检查了给定菜单的元素,菜单就会关闭并且 html 会发生变化。

我设法截取了代码的随机示例页面的屏幕截图,这样我什至可以看到那里有什么。我尝试自己从头开始学习 CSS 选择器的工作原理,并且设法找到了除列表中的实际元素之外的每个嵌套元素。我试过寻找第 N 个 child 并使用“>”运算符。我尝试按类名、名称、Xpath、链接名、部分链接名搜索,但没有任何效果。

我在其他地方阅读过检查弹出元素的这个问题,建议有效地编写一个 HTML 解析器或其他东西来复制整个 html 代码,然后从你的副本中选择它。我不会为这个元素这样做。除非出于某种原因我绝对必须这样做,否则这完全是太多的工作。

老实说,此时我什至不在乎了,我只是希望有人直接告诉我要输入什么,这样我才能完成这个元素。这是我设法得到的屏幕截图。我正在寻找以蓝色突出显示的元素。

enter image description here

由于我的代码被要求在此处进行说明

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.action_chains import ActionChains


binary = FirefoxBinary('C:\Program Files (x86)\Mozilla Firefox\Firefox.exe')
browser = webdriver.Firefox(firefox_binary=binary)

Deviant = browser.get("http://www.deviantart.com/random/deviant")
GiveMenu = browser.find_element_by_css_selector(".i47")
GiveMenu.click()
#GiveLlama = browser.find_element_by_css_selector("")`

除了最后一行之外的所有内容都有效,这就是最后一行被注释掉的原因,直到我弄清楚要放在那里的内容。无论我尝试了什么,包括到目前为止回答这个问题的人提供的例子,我要么得到一个没有这样的元素的错误,要么得到一个非法的语法错误。

最佳答案

您可以使用 xpath 选择器,在 chrome 中您可以使用右键单击并单击复制 > 复制 Xpath,或者在检查器中选择的元素是“div.popup2 .blockmenu a.f.givellama”

关于python - 在 Python 3 中为 Selenium 的弹出菜单项查找 CSS 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41436131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com