为什么错误发生在 python3 与硒



我最近学习了python,但我有一些错误。

环境 python3 , chrome , webdriver(chrome(

from selenium import webdriver
import time
import random
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
driver = webdriver.Chrome("./chromedriver.exe") 
mobile_emulation = { "deviceName": 'Nexus 5' }
chrome_options = webdriver.ChromeOptions()

chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)

driver = webdriver.Remote(command_executor='https:xxx.com',desired_capabilities = chrome_options.to_capabilities())

driver.get("https:/xxx.com")
num = random.randint(11111111 , 99999999)
red = driver.find_element_by_class_name("***")
red.click()
numBox = driver.find_element_by_name("***")
numBox.send_keys(int(num))
reader = driver.find_element_by_id("***")
reader.send_keys("***")
comment = driver.find_element_by_css_selector(" ***")
comment.click()

结果错误在这里

Traceback (most recent call last):
File "C:pythonpadpad.py", line 16, in <module>
driver = webdriver.Remote(command_executor='https:xxx.com',desired_capabilities = chrome_options.to_capabilities())
File "C:Users***AppDataLocalProgramsPythonPython37-32libsite-packagesseleniumwebdriverremotewebdriver.py", line 156, in __init__
self.start_session(capabilities, browser_profile)
File "C:Users***AppDataLocalProgramsPythonPython37-32libsite-packagesseleniumwebdriverremotewebdriver.py", line 254, in start_session
self.session_id = response['sessionId']
TypeError: string indices must be integers

我认为错误是因为此代码的编号包括十进制。 但我找不到这样的数字.

请给我建议

此错误消息...

Traceback (most recent call last):
File "C:pythonpadpad.py", line 16, in <module>
driver = webdriver.Remote(command_executor='https:xxx.com',desired_capabilities = chrome_options.to_capabilities())
.
TypeError: string indices must be integers

。意味着调用该方法时存在TypeErrorwebdriver.Remote()

根据您的代码试验,当您将webdriver.Remote()与参数一起使用command_executor也许您正在尝试在硒网格配置中执行测试。

根据文档文档:

  • command_executor: remote_connection。用于执行命令的远程连接对象。

    • 例:

      command_executor='http://127.0.0.1:4444/wd/hub'
      
    • 完整实现:

      driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities = chrome_options.to_capabilities())
      

注意:在这里,我们考虑了Selenium Grid HubSelenium Grid Node已在本地主机上使用默认配置成功配置,启动并运行。

解决方案(Python 3.6(

您的有效代码块将是:

from selenium import webdriver
chrome_options = webdriver.ChromeOptions() 
chrome_options.add_argument("start-maximized")
chrome_options.add_argument('disable-infobars')
#driver = webdriver.Remote(command_executor='https:xxx.com', desired_capabilities = chrome_options.to_capabilities())
driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities = chrome_options.to_capabilities())
driver.get('https://www.google.co.in')
print("Page Title is : %s" %driver.title)
driver.quit()

相关内容

  • 没有找到相关文章

最新更新