繁体   English   中英

Python Selenium PhantomJS-禁用Javascript后,我无法单击任何内容或获取任何元素

[英]Python Selenium PhantomJS - After disabling Javascript I can't click on anything or get any element

我需要帮助。 在PhantomJS Web驱动程序上禁用Javascript后,我无法使用browser.find_element_by_id或任何类似方法来获取或单击任何元素。

这是我设置幻影的方法:

def phantom_settings_function():
    # PhantomJS settings
    phantom_settings = dict(DesiredCapabilities.PHANTOMJS)
    phantom_settings['phantomjs.page.settings.userAgent'] = ('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36')
    phantom_settings['phantomjs.page.settings.javascriptEnabled'] = False,   
    phantom_settings['phantomjs.page.settings.loadImages'] = False,
    phantom_settings['phantomjs.page.browserName'] = 'Google Chrome'

    return phantom_settings
browser = webdriver.PhantomJS(desired_capabilities=phantom_settings_function(), service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])

这就是我如何尝试单击元素的方式:

browser.find_element_by_id('c_btnPriceRange').click()

我得到这个错误:

selenium.common.exceptions.NoSuchElementException:消息:{“ request”:{“ headers”:{“ Accept”:“ application / json”,“ Accept-Encoding”:“ identity”,“ Connection”:“ close”,“内容长度 “:” 96" , “内容类型”: “应用/ JSON;字符集= UTF-8”, “主机”:“127.0.0.1:52780","User-Agent":"Python-urllib/ 3.5“},” httpVersion“:” 1.1“,” method“:” POST“,” post“:” {\\“ value \\”:\\“ c_btnPriceRange \\”,\\“ using \\”:\\“ id \\”, \\“ sessionId \\”:\\“ 871daac0-147f-11e7-bfdf-4dce0d86731e \\”}“,” url“:” / element“,” urlParsed“:{” anchor“:”“,” query“:”“, “文件”: “元件”, “目录”: “/”, “路径”: “/元件”, “相对的”: “/元件”, “端口”: “”, “宿主”: “”,“密码“:” “ ”用户“: ”“, ”用户信息“: ”“, ”权威“: ”“, ”协议“: ”“, ”源“: ”/元件“, ”queryKey“:{},” chunks“:[” element“]},” urlOriginal“:” / session / 871daac0-147f-11e7-bfdf-4dce0d86731e / element“}}截图:可通过屏幕查看

我尝试了显式等待该元素,但它不起作用,当我打印网页内容时,我获得了包含元素的完整HTML代码。 禁用JavaScript是否会使Selenium无法运行命令或其他内容?

我真的需要帮助。

谢谢

PhantomJS Web驱动程序也存在NoSuchElementException问题。 我的修正是基于

Python / Selenium / PhantomJS-执行之间保留的数据

被添加

browser.implicitly_wait(10)
browser.set_window_size(1120, 550)

之前

browser.find_element_by_id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM