gpt4 book ai didi

python - 如何使用 Selenium 和 Python 在网站 https ://www. virustotal.com 中找到 shadow-root(打开)中的名字字段

转载 作者:行者123 更新时间:2023-12-05 02:06:14 25 4
gpt4 key购买 nike

我正在尝试在 virus total 站点上使用 selenium 自动完成注册过程。但是在通过 id 获取元素时遇到问题。我被困在这任何帮助将不胜感激谢谢。这是我正在尝试的代码。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver =webdriver.Chrome()
driver.get('https://www.virustotal.com/gui/join-us')
print(driver.title)
search = driver.find_element_by_id("first_name")
search.send_keys("Muhammad Aamir")
search.send_keys(Keys.RETURN)
time.sleep(5)
driver.quit()

最佳答案

网站中的名字字段https://www.virustotal.com/gui/join-us位于多个 #shadow-root (open) 的深处。

virustotal_firstname


解决方案

要将字符序列发送到名字字段,您必须使用shadowRoot.querySelector()您可以使用以下 Locator Strategy :

  • 代码块:

    from selenium import webdriver
    import time

    options = webdriver.ChromeOptions()
    options.add_argument("start-maximized")
    options.add_experimental_option("excludeSwitches", ["enable-automation"])
    options.add_experimental_option('useAutomationExtension', False)
    driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
    driver.get("https://www.virustotal.com/gui/join-us")
    time.sleep(7)
    first_name = driver.execute_script("return document.querySelector('vt-virustotal-app').shadowRoot.querySelector('join-us-view.iron-selected').shadowRoot.querySelector('vt-ui-two-column-hero-layout').querySelector('vt-ui-text-input#first_name').shadowRoot.querySelector('input#input')")
    first_name.send_keys("Muhammad Aamir")
  • 浏览器快照:

virustotal_firstname_filled


引用资料

您可以在以下位置找到一些相关讨论:

关于python - 如何使用 Selenium 和 Python 在网站 https ://www. virustotal.com 中找到 shadow-root(打开)中的名字字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62864415/

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