我有这个密码:
#!/usr/bin/env python
from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.support.ui import Select
from pyquery import *
# declaration of variables
display = Display(visible=0, size=(800, 600))
display.start()
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
# Initialize
driver = webdriver.Firefox(capabilities=firefox_capabilities)
driver.maximize_window()
driver.implicitly_wait(10)
driver.get('https://sjobs.brassring.com/TGWebHost/searchopenings.aspx?partnerid=25222&siteid=5011')
print driver.title
# below does not work
# driver.find_element_by_xpath(".//*[@id='Question4138__FORMTEXT62']/option[37]").click()
# selectsoptions = driver.find_element_by_id("Question4138__FORMTEXT62")
# for option in selectsoptions .find_elements_by_tag_name('option'):
# if option.text == 'Calgary':
# option.select()
# break
driver.find_element_by_id('ctl00_MainContent_submit1').click()
# call a sub-routine function def (not shown here)
save_rows(driver.find_element_by_id('idSearchresults'))
driver.close()
display.stop()
输出:
“寻找工作-沃尔玛加拿大事业部”
问题是我不知道如何在“加拿大城市”中选择“卡尔加里”。我试过很多不同的方法,但还是不起作用。你能帮忙吗?
注意:我可以选择选项,我的代码在一个非headless环境Windows机器上工作,这里是python selenium-webdriver select option does not work。我现在正在处理生产无头的Ubuntu,因此浏览器并不是真正在任何物理显示器上打开的。
再次提前感谢。
最佳答案
给你,我给你密码。请检查一下。
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome("chromedriver.exe")
driver.get("https://sjobs.brassring.com/TGWebHost/searchopenings.aspx?partnerid=25222&siteid=5011")
ele = driver.find_element_by_xpath("//option[contains(text(),'Calgary ')]")
print ele
driver.execute_script("arguments[0].scrollIntoView()",ele)
time.sleep(2)
ele.click()
关于python - selenium webdriver在带firefox浏览器的 headless Linux上使用python在下拉菜单中选择一个选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40255006/