小编sup*_*uri的帖子

Selenium Chromedriver无法导航到url

我现在所拥有的是:

chrome_options = Options()
chrome_options.add_extension(r"C:\Users\x\OneDrive\Desktop\pp\crxSolver.crx")
driver = webdriver.Chrome(r'C:\Users\x\OneDrive\Desktop\chromedriver.exe', options=chrome_options)
driver.get("https://www.google.com")
Run Code Online (Sandbox Code Playgroud)

我能够打开网络驱动程序,并且可以在Google Chrome浏览器的右上角看到添加的扩展程序,但是该驱动程序不会转到google.com。我已经搜索了很多,但找不到解决方案。

这是扩展名的链接:https : //chrome.google.com/webstore/detail/buster-captcha-solver-for/mpbjkejclgfgadiemmefgebjfooflfhl/related

在此处观看视频以获取完整信息

python selenium

10
推荐指数
1
解决办法
340
查看次数

如何使用Selenium/Webdriver提示输入并使用结果?

我想允许用户输入并根据它做出一些决定.如果我这样做:

driver.execute_script("prompt('Enter smth','smth')")
Run Code Online (Sandbox Code Playgroud)

我得到了一个很好的提示,但我无法使用它的价值.有没有办法向用户显示输入框,并使用在那里输入的值?

编辑:这是我的脚本:

来自selenium.webdriver导入Firefox

from selenium.webdriver import Firefox

if __name__ == "__main__":
    driver = Firefox()
    driver.execute_script("window.promptResponse=prompt('Enter smth','smth')")
    a = driver.execute_script("var win = this.browserbot.getUserWindow(); return win.promptResponse")
    print "got back %s" % a
Run Code Online (Sandbox Code Playgroud)

这退出时有以下例外:

    a = driver.execute_script("var win = this.browserbot.getUserWindow(); return win.promptResponse")
  File "c:\python26\lib\site-packages\selenium-2.12.1-py2.6.egg\selenium\webdriver\remote\webdriver.py", line 385, in ex
ecute_script
    {'script': script, 'args':converted_args})['value']
  File "c:\python26\lib\site-packages\selenium-2.12.1-py2.6.egg\selenium\webdriver\remote\webdriver.py", line 153, in ex
ecute
    self.error_handler.check_response(response)
  File "c:\python26\lib\site-packages\selenium-2.12.1-py2.6.egg\selenium\webdriver\remote\errorhandler.py", line 110, in
 check_response
    if 'message' in value:
TypeError: argument of type 'NoneType' is not iterable
Run Code Online (Sandbox Code Playgroud)

我做得不对劲?

编辑:我试着像prestomanifesto建议做,这是输出: …

python selenium webdriver

7
推荐指数
2
解决办法
8441
查看次数

如何使用 Selenium 处理 Google Authenticator

我需要从sellercentral.amazon.de 下载大量的excel 文件(估计:500 - 1000)。手动下载不是一种选择,因为每次下载都需要多次点击,直到 excel 弹出。

由于亚马逊无法为我提供具有其结构的简单 xml,因此我决定自己将其自动化。首先想到的是 Selenium 和 Firefox。

问题:

需要登录到 Sellercentral 以及 2 因素身份验证 (2FA)。因此,如果我登录一次,我可以打开另一个选项卡,输入 Sellercentral.amazon.de 并立即登录。我什至可以打开浏览器的另一个实例,并立即登录。他们可能正在使用会话 cookie。“抓取”的目标 URL 是https://sellercentral.amazon.de/listing/download?ref=ag_dnldinv_apvu_newapvu

但是当我使用 selenium webdrive 从我的 python 脚本打开 URL 时,会启动一个新的浏览器实例,但我没有登录。尽管如此,同时运行了一些 Firefox 实例,我在其中登录。所以我猜selenium启动的实例有些不同。

我试过的:

我尝试在第一个 .get() (打开站点)之后设置一个时间延迟,然后我将手动登录,然后重做 .get(),这使得脚本永远运行。

from selenium import webdriver
import time


browser = webdriver.Firefox()

# Wait for website to fire onload event
browser.get("https://sellercentral.amazon.de/listing/download?ref=ag_dnldinv_apvu_newapvu")

time.sleep(30000)

browser.get("https://sellercentral.amazon.de/listing/download?ref=ag_dnldinv_apvu_newapvu")

elements = browser.find_elements_by_tag_name("browse-node-component")


print(str(elements))
Run Code Online (Sandbox Code Playgroud)

我在寻找什么?

需要解决方案来使用来自谷歌身份验证器的双因素身份验证令牌。

我希望 selenium 在现有的 Firefox 浏览器实例中作为选项卡打开,我将事先登录。因此不需要登录(应该)并且可以完成“抓取”和下载。如果没有直接的方法,也许有人想出了解决方法?

我知道 selenium 无法下载文件本身,因为弹出窗口不再是浏览器的一部分。当我到达那里时,我会解决这个问题。

重要的边注: Firefox 不是给定的!我很乐意接受任何浏览器的解决方案。

python selenium selenium-webdriver

4
推荐指数
1
解决办法
7899
查看次数

Selenium NoSuchElementException - 无法定位元素:{"method":"css selector","selector":"[name="emailAddress"]"}

我正在尝试自动化登录过程。我正在寻找一个具有名称的元素,但测试失败并且响应是“selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法定位元素:{“方法”:“css选择器”,“选择器” :"[name="emailAddress"] "}" 我的代码有什么问题?

import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

class MainTests(unittest.TestCase):
   def setUp(self):
       self.driver = webdriver.Chrome(executable_path=r"C:\TestFiles\chromedriver.exe")

   def test_demo_login(self):
       driver = self.driver
       driver.get('http://localhost:8000/login')
       title = driver.title
       print(title)
       assert 'Calculator' == title


       element = driver.find_element_by_name("emailAddress")
       element.send_keys("name123@gmail.com")

       time.sleep(30)
Run Code Online (Sandbox Code Playgroud)

css python selenium automated-tests selenium-chromedriver

2
推荐指数
1
解决办法
4104
查看次数

如何禁用页眉和页脚 Selenium 打印

有谁知道如何在硒中打印时禁用“页眉和页脚”选项?默认情况下设置为 true,有人知道如何解决这个问题吗?谢谢你!!!

import json
import os
from selenium import webdriver

# setting html path
htmlPath = os.getcwd() + "\\sample.html"
addr = "file:///" + htmlPath

# setting Chrome Driver
chromeOpt = webdriver.ChromeOptions()
appState = {
   "recentDestinations": [
        {
            "id": "Save as PDF",
            "origin": "local",
            "account": ""
        }
    ],
    "selectedDestinationId": "Save as PDF",
    "version": 2
}
prefs = {
    'printing.print_preview_sticky_settings.appState': json.dumps(appState)}
chromeOpt.add_experimental_option('prefs', prefs)
chromeOpt.add_argument('--kiosk-printing')
driver = webdriver.Chrome('.\\bin\\chromedriver', options=chromeOpt)

# HTML open and print
driver.get(addr)
driver.execute_script('return window.print()')```
Run Code Online (Sandbox Code Playgroud)

python selenium

2
推荐指数
1
解决办法
3207
查看次数