Python 3.x 切换searchtempest.com的Selenium按钮

Python 3.x 切换searchtempest.com的Selenium按钮,python-3.x,selenium,Python 3.x,Selenium,在SearchTempest上,我试图在sources下找到切换开关按钮的位置,但似乎找不到任何可以使用python selenium切换切换开关的位置。网址如下: 我单击searchfilters下的sources按钮,它会提示屏幕上出现一个子菜单,我想取消选择除eBay结果之外的所有内容 我曾尝试使用按xPath查找、css_选择器、按类查找,但没有任何效果。我找不到位置,也无法找到所需的部分 试试下面的代码,除了易趣结果之外,其他选项都将被禁用 from selenium import

在SearchTempest上,我试图在sources下找到切换开关按钮的位置,但似乎找不到任何可以使用python selenium切换切换开关的位置。网址如下:

我单击searchfilters下的sources按钮,它会提示屏幕上出现一个子菜单,我想取消选择除eBay结果之外的所有内容


我曾尝试使用按xPath查找、css_选择器、按类查找,但没有任何效果。我找不到位置,也无法找到所需的部分

试试下面的代码,除了易趣结果之外,其他选项都将被禁用

from selenium import webdriver
from time import sleep
driver = webdriver.Chrome("chromedriver.exe");
driver.get("https://www.searchtempest.com/search?search_string=desk&category=8&subcat=sss&hasPic=&maxAsk=&maxYear=&minAsk=&minYear=&srchType=&cityselect=zip&location=90210&maxDist=500&region_us=1&region_can=1&region_mex=1&Region=combined&addCities=&subCities=&q=desk++%22for+sale%22");

element = driver.find_element_by_id('hybridSearchPreferencesToggle')
element.click()

element = driver.find_element_by_xpath("//input[@id='showcl_hybrid']/parent::div")
sleep(3)
element.click()

element = driver.find_element_by_xpath("//input[@id='showat_hybrid']/parent::div")
element.click()

element = driver.find_element_by_xpath("//input[@id='showaz_hybrid']/parent::div")
element.click()

element = driver.find_element_by_xpath("//input[@id='showzr_hybrid']/parent::div")
element.click()

print("Done...")
我使用sleep()方法在执行取消切换之前提供3秒的延迟,如果您愿意,可以将其替换为WebDriverWait

clicked=False
count=30
while not clicked or count > 0:
    try:
        element = driver.find_element_by_xpath("//span[@class='PUsnl' and text()='Done']/parent::button")
        element.click()
        print("Clicked...")
        break
    except:
        print("Not Clicked...")
    sleep(1)
    count-=1
使用上述代码单击“完成”按钮。由于“欢迎使用教程模式”右侧出现了一些弹出窗口,上述代码将等待该弹出窗口消失,然后单击“完成”按钮


您可以尝试关闭该弹出窗口,而不是等待该弹出窗口消失,或者您可以使用WebDriverWait作为“完成”定位器,直到它变得可单击为止。我希望这会有帮助……

非常感谢!这件事我已经坚持了好几天了。你介意告诉我你做了什么,以及在完成切换后如何按下“完成”按钮吗?欢迎。。。这只是获取XPath,因为切换按钮是使用div标记标识的,所以我们需要从标识切换按钮的输入标记获取引用。