selenium-webdriver 相关问题

Selenium-WebDriver提供WebDriver API,用于控制不同编程语言的浏览器(“语言绑定”)。使用此标记时,还要为正在使用的编程语言添加标记。

seleenium python滚动动态表

https://data.nordpoolgroup.com/auction/auction/day-ahead/prices?driveragedate = 2025-01-15&Currency&Currency = EUR = EUR&CONCREGATIN 我正在尝试将桌子刮在页面底部的桌子,该桌子的交付日期和相应的价格。我可以刮擦页面上加载的数据,但是如您所见,这是可滚动的表,当您向下滚动时,会显示更多行。 come,请有人指向我指向如何向下滚动桌子并继续迭代的正确方向。

回答 1 投票 0


我如何在Selenium Python中配置代理,我正在使用Python和Selenium的最后版本 我正在尝试 proxy = proxy({“ proxytype”:proxytype.auteTect}) client_config =

proxy = Proxy({"proxyType": ProxyType.AUTODETECT}) client_config = ClientConfig(remote_server_addr=grid_server, proxy=proxy, timeout=3600, ignore_certificates=True, username="admin", password="myStrongPassword") options = get_default_chrome_options() driver = webdriver.Remote(command_executor=grid_server, options=options, client_config=client_config) driver.get("https://www.selenium.dev") driver.quit()

回答 1 投票 0

在硒中执行movetolement时的环保对象值。使用Firefox135

试图在硒驱动器动作中使用Movetoelement,以获得循环对象值异常。 尝试 webElement元素= driver.findelement(locator); action.movetoelement(element).perform(); GE ...

回答 1 投票 0

可以在没有无头模式的情况下在Amazon EC2实例上运行硒?

我想使用硒在不使用无头模式的情况下在Amazon EC2实例上加载PDF页面,因为我想加载PDF。由于此处描述的问题(https://github.com/puppeteer/puppeteer/issues/

回答 1 投票 0

有一种方法可以通过硒或JavaScript在材料UI(MUI)表中进行滚动?

是否有任何方法通过硒或JavaScript在MUI表中进行水平滚动? 由于懒惰加载,无法执行不存在的元素的动作

回答 2 投票 0


子选择元素按值不可能

我尝试使用以下代码使用硒来选择一个元素: 来自Selenium Import Webdriver 来自selenium.webdriver.chrome.options导入选项 来自Selenium.WebDriver.Chrome.Service进口

回答 1 投票 0

import time import docker from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys def setupDockerFirefoxSeleniumContainer(): client = docker.from_env() client.images.pull("selenium/standalone-firefox:135.0.1-geckodriver-0.36.0-20250303") firefox = client.containers.run("selenium/standalone-firefox:135.0.1-geckodriver-0.36.0-20250303", detach = True, name = "firefox", ports = {4444: 4444, 7900: 7900}, shm_size = "2G", environment = ["SE_START_XVFB=false", "SE_SCREEN_WIDTH=1200", "SE_SCREEN_HEIGHT=900"]) return firefox def setupSeleniumFirefoxDriver(): try: options=webdriver.FirefoxOptions() options.add_argument("--headless") options.add_argument("--disable-gpu") options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:36.0) Gecko/20100101 Firefox/135.0") driver = webdriver.Remote( command_executor="http://127.0.0.1:4444/wd/hub", options=options ) driver.get("https://httpbin.org/ip") print("Successfully started Firefox driver.") return driver except Exception as e: print("Caught an exception: ", repr(e)) def cleanupDriver(d): print("Cleaning up driver") d.quit() def cleanupContainer(c): print("Cleaning up container") c.stop() c.remove() def siteLogin(driver, username, password): driver.get("https://www.MYWEBSITE.com/login") driver.implicitly_wait(5) driver.get_screenshot_as_file("/home/fresh_login_screen.png") username_box = driver.find_element(by=By.NAME, value="emailInput") password_box = driver.find_element(by=By.NAME, value="passwordInput") submit_button = driver.find_element(by=By.CLASS_NAME, value="submitButton") time.sleep(2) username_box.send_keys(username) time.sleep(2) password_box.send_keys(password) time.sleep(2) driver.get_screenshot_as_file("/home/login_screen_keys_sent.png") time.sleep(2) #submit_button.click() # doesn't work #submit_button.submit() # doesn't work #password_box.submit() # doesn't work #password_box.send_keys(Keys.ENTER) # doesn't work submit_button.send_keys(Keys.ENTER) # doesn't work print("Waiting for login to process.") time.sleep(5) driver.get_screenshot_as_file("/home/submitted_login.png") time.sleep(10) driver.get_screenshot_as_file("/home/another_screenshot.png") print(driver.page_source) def main(): firefoxContainer = setupDockerFirefoxSeleniumContainer() print("Waiting 5 seconds for Selenium server to start") time.sleep(5) firefoxDriver = setupSeleniumFirefoxDriver() try: siteLogin(firefoxDriver, "[email protected]", "crazyHardPassword") except Exception as e: print("Caught an exception when trying siteLogin: ", repr(e)) finally: cleanupDriver(firefoxDriver) cleanupContainer(firefoxContainer) if __name__=="__main__": main() 登录提交不起作用。页面似乎挂了。在我的屏幕截图中,我可以看到我的用户名和密码已发送到正确的表单框。但是,我尝试了几种提交表格(send_keys(Keys.ENTER),click()和submit())的方法,但似乎一切都没有发生。屏幕截图在以前和之后看起来相同(用我的用户名和密码坐落在表单中,但似乎未尝试提交表格)。关于如何提交此表格的任何提示? 在您的自定义代码或浏览器选项中,这引起了问题。我下面的代码正常工作。 from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() url = "https://www.redfin.com/login" driver.get(url) username = "username" password = "password" driver.find_element(By.CSS_SELECTOR, "input[name='emailInput']").send_keys(username) driver.find_element(By.CSS_SELECTOR, "input[name='passwordInput']").send_keys(password) driver.find_element(By.CSS_SELECTOR, "button.submitButton").click() driver.quit()

回答 0 投票 0

子 - 找不到元素

基本上,我想找到并单击该网站上写入“离开”的字段:

回答 0 投票 0

我正在尝试使用Selenium登录网站。相关形式HTML如下:

import time import docker from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys def setupDockerFirefoxSeleniumContainer(): client = docker.from_env() client.images.pull("selenium/standalone-firefox:135.0.1-geckodriver-0.36.0-20250303") firefox = client.containers.run("selenium/standalone-firefox:135.0.1-geckodriver-0.36.0-20250303", detach = True, name = "firefox", ports = {4444: 4444, 7900: 7900}, shm_size = "2G", environment = ["SE_START_XVFB=false", "SE_SCREEN_WIDTH=1200", "SE_SCREEN_HEIGHT=900"]) return firefox def setupSeleniumFirefoxDriver(): try: options=webdriver.FirefoxOptions() options.add_argument("--headless") options.add_argument("--disable-gpu") options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:36.0) Gecko/20100101 Firefox/135.0") driver = webdriver.Remote( command_executor="http://127.0.0.1:4444/wd/hub", options=options ) driver.get("https://httpbin.org/ip") print("Successfully started Firefox driver.") return driver except Exception as e: print("Caught an exception: ", repr(e)) def cleanupDriver(d): print("Cleaning up driver") d.quit() def cleanupContainer(c): print("Cleaning up container") c.stop() c.remove() def siteLogin(driver, username, password): driver.get("https://www.MYWEBSITE.com/login") driver.implicitly_wait(5) driver.get_screenshot_as_file("/home/fresh_login_screen.png") username_box = driver.find_element(by=By.NAME, value="emailInput") password_box = driver.find_element(by=By.NAME, value="passwordInput") submit_button = driver.find_element(by=By.CLASS_NAME, value="submitButton") time.sleep(2) username_box.send_keys(username) time.sleep(2) password_box.send_keys(password) time.sleep(2) driver.get_screenshot_as_file("/home/login_screen_keys_sent.png") time.sleep(2) #submit_button.click() # doesn't work #submit_button.submit() # doesn't work #password_box.submit() # doesn't work #password_box.send_keys(Keys.ENTER) # doesn't work submit_button.send_keys(Keys.ENTER) # doesn't work print("Waiting for login to process.") time.sleep(5) driver.get_screenshot_as_file("/home/submitted_login.png") time.sleep(10) driver.get_screenshot_as_file("/home/another_screenshot.png") print(driver.page_source) def main(): firefoxContainer = setupDockerFirefoxSeleniumContainer() print("Waiting 5 seconds for Selenium server to start") time.sleep(5) firefoxDriver = setupSeleniumFirefoxDriver() try: siteLogin(firefoxDriver, "[email protected]", "crazyHardPassword") except Exception as e: print("Caught an exception when trying siteLogin: ", repr(e)) finally: cleanupDriver(firefoxDriver) cleanupContainer(firefoxContainer) if __name__=="__main__": main() 登录提交不起作用。页面似乎挂了。在我的屏幕截图中,我可以看到我的用户名和密码已发送到正确的表单框。但是,我尝试了几种提交表格(send_keys(Keys.ENTER),click()和submit())的方法,但似乎一切都没有发生。屏幕截图在以前和之后看起来相同(用我的用户名和密码坐落在表单中,但似乎未尝试提交表格)。关于如何提交此表格的任何提示? 在您的自定义代码或浏览器选项中,这引起了问题。我下面的代码正常工作。 from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() url = "https://www.redfin.com/login" driver.get(url) username = "username" password = "password" driver.find_element(By.CSS_SELECTOR, "input[name='emailInput']").send_keys(username) driver.find_element(By.CSS_SELECTOR, "input[name='passwordInput']").send_keys(username) driver.find_element(By.CSS_SELECTOR, "button.submitButton").click() driver.quit()

回答 0 投票 0



在键入时如何解散键盘,在iOS设备上使用Appium

IAM使用真实的iOS设备进行自动化测试,在使用Appium运行自动化时,在文本框上键入键盘总是触发键盘,而在没有键盘触发的情况下与Android不一样。我的devi ...

回答 1 投票 0

对ERR_HTTP2_PROTOCOL_ERROR进行零食,当Web用Python Selenium Chromedriver刮擦时,但相同的请求与Curl

我有一个相当基本的刮板设置,可以通过homes.com上的房地产经纪人资料列表进行循环。我的刮板工作了几个月,但随后开始零星

回答 0 投票 0


Pytesseract无法识别Python

我正在使用Django应用程序,为了某种目的,我需要求解验证码,我已经保存了临时验证码文件,但是当我尝试使用pytesseract读取CACTCHA时,它没有返回...

回答 1 投票 0




最新问题
© www.soinside.com 2019 - 2025. All rights reserved.