问题标签 [selenium-webdriver-python]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何使用 Selenium (Python) 打开/关闭选项卡?
我已经尝试了类似问题中的所有方法,但只有一种方法有效,那就是使用 javascript。
我想获得第二种工作方式,因为它似乎是最易读和最明智的,我在我的代码中做错了吗?或者我需要在 Selenium 中更改任何选项以启用这样的打开选项卡吗?
编辑:第二种和第三种方法根本不会产生任何结果。甚至不是一个例外。
python - 如何使用硒自动切换页面?
我正在尝试自动单击每个页面,但出现以下错误::
错误:
我希望你能帮助我
python - 使用python以JSON格式导入浏览器cookie
我一直在尝试让 selenium 将 JSON cookie 导入网站(从文件:“cookie.json”),但我真的不知道该怎么做。到目前为止,我尝试过的大多数是“driver.add_cookie(cookie1)”,其中的变量指向 cookie 文件路径。cookie 看起来像这样,是从站点导出的。
有人问我试过什么
上面的代码片段是我在网上找到的。
& 这
以上是我写的。
我应该补充一点,cookie 来自 chrome cookie 导出程序,如 Editthiscookie。希望这会有所帮助。我浏览了一堆随机论坛,似乎对其他人来说效果很好。我在这里做错了100%。
python - 使用 Selenium WebDriver 填充日期字段
当我开始熟悉这个库时,我正在尝试使用 Selenium 填写注册表以进行练习。
就是这个网站上的注册表:https ://www.fast2sms.com/
我目前正在尝试的
我从这个开始:
在那里,我单击data-target
属性设置为"#signupM"
使用 css 选择器的注册按钮:
然后我为这些字段设置了一些虚拟值:
我等待名称字段,然后填写:
然后电话号码和电子邮件地址:
到目前为止,一切正常,完全符合预期,但是当我尝试填写“出生日期”字段时,我遇到了问题:
我面临的问题
- 出生日期字段未填写。
- 它抛出一个错误,
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
- 我无法提交未填写出生日期的表格。
我尝试调试的方法
- 重新检查 CSS 选择器
- 等待出生数据字段可使用 WebDriverWait 进行交互
- 我没有填写文本,而是尝试与单击该字段时出现的弹出窗口进行交互(我想我必须这样做,但不知道如何。)
看似重复但并非重复的问题:
python - 在 docker 容器中运行 Selenium
控制台输出:https ://i.stack.imgur.com/x2CAN.png
我正在尝试在 docker 容器中使用 selenium 运行 python 脚本。使用 selenium 运行其他脚本没有任何问题,所以我知道这不是 chromedriver 路径的问题。当我在本地运行脚本时,它工作得很好。但是当我在容器中运行时,出现以下错误。有谁知道问题可能是什么?
代码:
Docker文件:
输出
python - Python Selenium - 如何点击动态生成的href页面链接
我正在使用 selenium 和 python 自动化一个过程。但我被一些东西困住了。我必须单击使用硒的链接。这个链接是href,每次都会动态生成。href 链接将类似于 3。对于另一个页面,它将是 66
现在来模拟这个链接的点击,有什么方法可以点击吗?如何获取动态生成的链接?我正在为 selenium webdriver 使用 python 代码。
示例尝试" self.driver.find_element(By.CSS_SELECTOR, "create_job_listing_ajax > div:nth-child(4) > div > div > div:nth-child(2) > center > a").click()
//将 URL 复制为 xpath
javascript - 将 CSS 注入 Selenium 驱动程序会导致 Linux 中的 javascript 错误,而不是 macOS
下面的 python (v. 3.9.7) 函数将从标准 CSS 文件加载的 CSS 样式注入到 selenium 驱动程序对象中。虽然在 macOS (11.5.2, homebrew) 中正确应用了样式,但在 Linux (Ubuntu 20.04) 中没有应用样式并且此消息被抛出:javascript error: Invalid or unexpected token
那么字符串的哪一部分导致了问题,我如何在发送之前对字符串进行预处理?
更新:我缩小了有问题的字符串:它不是 Python 变量中的字符串,它位于加载的 CSS 文件本身内,它是包含规则中src
属性的行@font-face
:
更新 2:好吧,感谢@cruisepandey,我发现了 CSS 中有问题的标记:它是 CSS 文件中的单引号,例如font-family: 'serif';
. 用双引号替换它们可以解决问题。为什么允许在变量中使用单引号,但在 CSS 文件本身中却不允许?另外:为什么问题出现在 linux 而不是 macOS 中?
selenium - 在RobotFramework python中拖放-寻找工作方法
似乎是一个古老的讨论,但我没有找到任何有效的方法。我正在尝试拖放表格行,步骤通过但元素没有被删除。
尝试
Drag And Drop ${source} ${target}
并Mouse Down, Mouse Up
接近。
我的 App UI 框架是 nuxt js。自动化框架是 Robotframework python。
python - Selenium - set_window_size() 总是返回与指定尺寸无关的相同大小的窗口
我正在尝试通过 Python 为 Firefox Selenium 设置窗口大小。但是,窗口总是被调整为相同的大小,与作为参数传递给set_window_size()
函数的尺寸无关。
下面是我正在使用的代码:
输出的打印语句总是显示{width: 1161, height: 661}
我已将 geckodriver 更新到最新版本,并且正在使用 Ubuntu 18.04 通过 anaconda 环境运行代码。
我也尝试使用该execute_script()
函数通过 JS 设置窗口大小,但我得到了相同的结果。
谁能指出我做错了什么以及如何解决?
python - Selenium python从一个站点更改另一个站点的cookie
我想像这样使用 python selenium 更改我正在访问的站点之外的 cookie(这是我的 chrome 选项卡而不是 selenium 浏览器)
我输入的站点:https ://2captcha.com/tr/demo/hcaptcha?difficulty=difficult 我从框架中使用的 Cookie 站点:newassets.hcaptcha.com
起初我试图做类似的事情:
但是当我进入该站点时,hcaptcha_accecibilty cookie 不存在(这是我的 selenium 浏览器选项卡)